Проверьте, содержит ли буфер памяти структурированные данные файла хранения

Мне нужно проверить, содержит ли буфер в памяти 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);

Есть ли простой способ выполнить задачу?

Спасибо

0 ответов

Другие вопросы по тегам