Метод IShellExtInit::Initialize (shobjidl_core.h)
Инициализирует расширение листа свойств, расширение контекстного меню или обработчик перетаскивания.
Синтаксис
HRESULT Initialize(
[in] PCIDLIST_ABSOLUTE pidlFolder,
[in] IDataObject *pdtobj,
[in] HKEY hkeyProgID
);
Параметры
[in] pidlFolder
Тип: PCIDLIST_ABSOLUTE
Указатель на структуру ITEMIDLIST , которая однозначно идентифицирует папку. Для расширений страниц свойств этот параметр имеет значение NULL. Для расширений контекстного меню это список идентификаторов элементов для папки, содержащей элемент, контекстное меню которого отображается. Для расширений меню перетаскивания, не являющихся стандартными, этот параметр указывает целевую папку.
[in] pdtobj
Тип: IDataObject*
Указатель на объект интерфейса IDataObject , который можно использовать для извлечения объектов, с которыми выполняется действие.
[in] hkeyProgID
Тип: HKEY
Раздел реестра для типа файлового объекта или папки.
Возвращаемое значение
Тип: HRESULT
Если этот метод завершается успешно, он возвращает S_OK. В противном случае возвращается код ошибки HRESULT .
Комментарии
Значения некоторых параметров зависят от типа расширения. Для обработчиков перетаскивания параметр pidlFolder указывает целевую папку (целевой объект перетаскивания), параметр pdtobj определяет удаляемые элементы, а параметр hkeyProgID указывает тип файла конечной папки.
Для расширений контекстного менюpdtobj определяет выбранные объекты файлов, hkeyProgID определяет тип файла объекта с фокусом, а pidlFolder имеет значение NULL (для файловых объектов) или указывает папку, для которой запрашивается контекстное меню (для контекстных меню в фоновом режиме папки).
Для расширений страниц свойств pidlFolder имеет значение NULL, pdtobj определяет выбранные объекты файлов, а hkeyProgID задает тип файла объекта, на котором находится фокус.
Примечания для разработчиков
Это первый метод, который вызывает оболочка после создания экземпляра расширения страницы свойств, расширения контекстного меню или обработчика перетаскивания.Требования
Минимальная версия клиента | Windows XP [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | shobjidl_core.h (включая Shobjidl.h) |
DLL | Shell32.dll (версия 4.0 или более поздняя) |