Если мы попробуем открыть файл и он окажется не хранилищем, то мы получим сообщение об ошибке. Лучше заранее проверить является ли файл хранилищем. Так как отказ в открытии хранилища может быть по разным причинам. Например, хранилище уже отрыто. Проверить является ли файл хранилищем можно использовав функцию StgIsStorageFile():
WINOLEAPI StgIsStorageFile ( const WCHAR *pwcsName //указатель на имя файла );
Возвращаемые значения следующиe:
Смотрим пример:
#include "stdafx.h" #include "windows.h" #include "ole2.h" #include "iostream.h" void main() { LONG l = StgIsStorageFile(L"test.stg"); if (l == S_OK) cout << "The file is a structured storage file" << endl; else cout << "The file is not a structured storage file" << endl; }