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