Поделиться через


Метод 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 или более поздняя)