GetProcessReference 함수(shlwapi.h)
SetProcessReference에서 제공하는 프로세스별 개체를 검색하여 프로세스를 활성 상태로 유지하기 위해 참조 횟수를 증분합니다.
구문
LWSTDAPI GetProcessReference(
[out] IUnknown **punk
);
매개 변수
[out] punk
이 함수가 성공적으로 반환될 때 SetProcessReference에서 프로세스에 제공된 개체를 가리키는 포인터의 주소입니다. 애플리케이션은 더 이상 필요하지 않은 경우 이 리소스를 해제해야 합니다.
자유 스레드 IUnknown에 대한 포인터입니다. 구성 요소는 이 인터페이스( SHGetInstanceExplorer를 통해)를 사용하여 호스트 프로세스가 종료되지 않도록 할 수 있습니다. 이 값은 NULL일 수 있으며, 이 경우 프로세스 참조를 구성 요소에서 더 이상 사용할 수 없습니다.
반환 값
없음
설명
DLL로 구현되고 Windows Explorer(Explorer.exe) 또는 Windows 인터넷 Explorer(Iexplore.exe)과 같은 호스트 프로세스에서 실행되는 셸 확장 처리기와 같은 여러 구성 요소가 있습니다. 일반적으로 사용자가 호스트 프로세스를 닫으면 구성 요소도 즉시 종료됩니다. 이러한 갑작스러운 종료로 일부 구성 요소에 문제가 발생할 수 있습니다. 예를 들어 구성 요소가 백그라운드 스레드를 사용하여 데이터를 다운로드하거나 사용자 인터페이스 함수를 실행하는 경우 안전하게 종료하는 데 추가 시간이 필요할 수 있습니다.
GetProcessReference 를 사용하면 호스트 프로세스에서 실행되는 구성 요소가 호스트 프로세스에 대한 참조를 보유할 수 있습니다. GetProcessReference 는 호스트의 참조 수를 증가시키고 호스트의 IUnknown 인터페이스에 대한 포인터를 반환합니다. 해당 참조를 보유하면 구성 요소가 호스트 프로세스가 조기에 닫히지 않도록 방지할 수 있습니다. 구성 요소가 필요한 처리를 완료한 후 (*punk)->Release 를 호출하여 호스트의 참조를 해제하고 프로세스가 종료되도록 허용해야 합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | shlwapi.h |
라이브러리 | Shlwapi.lib |
DLL | Api-ms-win-shcore-thread-L1-1-0.dll |