![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Есть ли StgOpenStorageEx в реализации WinAPI Delphi? [D6, Win2k]
Damage © (2002-11-07 00:08:00)Понадобилось использовать StgOpenStorageEx, и чего-то не смог найти. Нашел только StgOpenStorage в ole2.dcu. Это аналог, или что-то другое? И можно ли ее использовать для получения свойств файла?
Сахаров Сергей (2002-11-07 12:36:00) [1]StgOpenStorageEx реализована только начиная с Win2k и соответственно в Delphi не прописана.
Так что ручками прописывать придётся.
Немного из MSDN:
To get a pointer to the compound file implementation of IPropertySetStorage, specify the header-defined name for the identifier IID_IStorage as the riid parameter, or use the StgCreateStorageEx or StgOpenStorageEx functions. In both cases, specify STGFMT_STORAGE as the stgfmt parameter. (STGFMT_ANY can alternatively be specified in the case of StgOpenStorageEx.) Also, specify the header-defined name for the interface identifier (IID) IID_IPropertySetStorage as the riid parameter. Both functions supply a pointer to the object"s IPropertySetStorage interface.
An alternative way to get a pointer to the compound file implementation is to specify the header-defined name for the identifier IID_IStorage as the riid parameter, or to use the StgCreateDocfile or StgOpenStorage functions. This will supply a pointer to the object"s IStorage interface. When you want to deal with persistent property sets, call IStorage::QueryInterface for the IPropertySetStorage interface.
When to Use
Call the methods of IPropertySetStorage to create, open, or delete property sets in the current compound-file property set storage. There is also a method, IPropertySetStorage::Enum, that supplies a pointer to an enumerator that can be used to enumerate the property sets in the storage.