Создание и открытие хранилищ
Создание хранилищ осуществляется с использованием функции StgCreateDocFile из модуля ActiveX.pas:
function StgCreateDocfile (pwcsName: POleStr; grfMode: Longint;
reserved: Longint; out stgOpen: IStorage): HResult; stdcall;
где:
- pwcsName - название хранилища (т. е. название файла);
- grfMode - флаги доступа (комбинация значений STGM_*);
- reserved - он и в Африке RESERVED;
- StgOpen - ссылка на интерфейс IStorage нашего главного хранилища.
Результат функции как всегда транслируем в исключения Delphi посредством OleCheck.
Для открытия хранилища используется функция StgOpenStorage:
function StgOpenStorage (pwcsName: POleStr; stgPriority: IStorage;
grfMode: Longint; snbExclude: TSNB; reserved: Longint;
out stgOpen: IStorage): HResult; stdcall;
параметр stgPriority указывает на ранее открытый экземпляр главного хранилища (почти всегда nil).