SetProcessReference 함수(shlwapi.h)

호스트된 셸 확장 및 기타 구성 요소가 호스트 프로세스가 조기에 닫히지 않도록 하는 COM(구성 요소 개체 모델) 개체를 제공합니다. 호스트 프로세스는 일반적으로 Windows Explorer 또는 Windows Internet Explorer 있지만 다른 애플리케이션에서도 이 함수를 사용할 수 있습니다.

구문

void SetProcessReference(
  [in, optional] IUnknown *punk
);

매개 변수

[in, optional] punk

참조를 저장할 개체에 대한 포인터입니다. 이 값은 NULL일 수 있습니다.

반환 값

없음

설명

Windows Explorer 및 인터넷 Explorer SetProcessReference를 사용하여 셸 확장과 같은 구성 요소가 프로세스의 수명을 연장할 수 있도록 할 수 있습니다. 다른 애플리케이션은 SetProcessReference를 사용하여 동일한 기능을 허용할 수도 있습니다. instance 경우 브라우저 메시지 루프와 프록시 데스크톱은 SetProcessReference를 사용하여 다른 스레드가 수명을 연장할 수 있도록 합니다.

이 함수를 호출하는 Windows Explorer 및 인터넷 Explorer 이외의 애플리케이션은 일부 구성 요소가 SetProcessReference를 사용하여 Windows Explorer 또는 인터넷 Explorer 내에서 호스트되는지 여부를 감지하기 때문에 호환성 문제가 발생할 수 있습니다.

SetProcessReference에 전달된 인터페이스 포인터는 자유 스레드 개체를 참조해야 합니다.

구성 요소가 GetProcessReference를 호출할 때마다 시스템은 호출 구성 요소에 대한 인터페이스 포인터를 반환하기 전에 AddRef 메서드를 호출합니다. 그런 다음, 처리가 완료되면 구성 요소가 IUnknown::Release 메서드를 호출합니다. 제공된 인터페이스 포인터의 참조 수가 0이 아닌 동안 SetProcessReference 를 호출하는 프로세스는 종료되지 않아야 합니다.

구성 요소가 프로세스 참조를 사용하는 방법에 대한 자세한 내용은 GetProcessReference를 참조하세요.

요구 사항

   
지원되는 최소 클라이언트 Windows 8 [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2012 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 shlwapi.h
라이브러리 Shlwapi.lib
DLL Api-ms-win-shcore-thread-L1-1-0.dll

추가 정보

GetProcessReference

SHSetInstanceExplorer

Windows API 세트