Функция GetProcessReference (shlwapi.h)
Извлекает объект для конкретного процесса, предоставленный SetProcessReference, с увеличением числа ссылок для поддержания процесса в активном состоянии.
Синтаксис
LWSTDAPI GetProcessReference(
[out] IUnknown **punk
);
Параметры
[out] punk
Адрес указателя, который при успешном возврате этой функции указывает на объект, предоставленный процессу методом SetProcessReference. Ваше приложение отвечает за освобождение этого ресурса, когда он больше не нужен.
Указатель на свободный поток IUnknown. Компоненты могут использовать этот интерфейс (через SHGetInstanceExplorer), чтобы предотвратить прекращение хост-процесса. Это значение может иметь значение NULL, и в этом случае ссылка на процесс больше не становится доступной для компонентов.
Возвращаемое значение
None
Remarks
Существует ряд компонентов, таких как обработчики расширений оболочки, которые реализуются как библиотеки DLL и выполняются в хост-процессе, например Windows Обозреватель (Explorer.exe) или Windows Internet Обозреватель (Iexplore.exe). Как правило, когда пользователь закрывает хост-процесс, компонент также немедленно завершает работу. Такое внезапное завершение может создать проблемы для некоторых компонентов. Например, если компонент использует фоновый поток для загрузки данных или выполнения функций пользовательского интерфейса, ему может потребоваться дополнительное время для безопасного завершения работы.
GetProcessReference позволяет компонентам, выполняющимся в хост-процессе, хранить ссылку на хост-процесс. GetProcessReference увеличивает количество ссылок узла и возвращает указатель на интерфейс IUnknown узла. Удерживая ссылку, компонент может предотвратить преждевременное завершение ведущего процесса. После завершения необходимой обработки компонент должен вызвать (*punk)->Release , чтобы освободить ссылку узла и разрешить завершение процесса.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 8 [только классические приложения] |
Минимальная версия сервера | Windows Server 2012 [только классические приложения] |
Целевая платформа | Windows |
Header | shlwapi.h |
Библиотека | Shlwapi.lib |
DLL | Api-ms-win-shcore-thread-L1-1-0.dll |