Проверьте, содержит ли буфер памяти структурированные данные файла хранения
Мне нужно проверить, содержит ли буфер в памяти BYTE* lpBuf данные данных файла хранилища структуры.
В настоящее время я сохраняю данные буфера во временный файл, а затем использую StgOpenStorage, чтобы открыть файл. Если открытие выполнено успешно, то файл является файлом структурированного хранилища, в противном случае - нет.
CFile File;
if (File.Open(_T("E:\\Myfile.dat"), CFile::modeCreate | CFile::modeRead)
{
File.Write(lpBuf, uBufSize);
File.Close();
}
LPSTORAGE lpStorageFile = NULL;
HRESULT hr = StgOpenStorage(_T("E:\\Myfile.dat"), NULL, STGM_TRANSACTED | STGM_READ | STGM_SHARE_EXCLUSIVE, NULL, 0, &lpStorageFile);
return SUCCEED(hr);
Есть ли простой способ выполнить задачу?
Спасибо