Share via


RpcServerUnregisterIfEx 함수(rpcdce.h)

RpcServerUnregisterIfEx 함수는 RPC 런타임 라이브러리 레지스트리에서 인터페이스를 제거합니다. 이 함수는 RpcServerUnregisterIf 함수의 기능을 확장합니다.

구문

RPC_STATUS RpcServerUnregisterIfEx(
  [in] RPC_IF_HANDLE IfSpec,
  [in] UUID          *MgrTypeUuid,
  [in] int           RundownContextHandles
);

매개 변수

[in] IfSpec

레지스트리에서 제거할 인터페이스입니다.

이전에 MgrTypeUuid 매개 변수에 지정된 형식 UUID 값으로 등록된 모든 인터페이스를 제거하려면 null 값을 지정합니다.

[in] MgrTypeUuid

레지스트리에서 제거할 관리자 EPV(진입점 벡터)의 UUID 형식에 대한 포인터입니다. MgrTypeUuid 값은 RpcServerRegisterIf 함수, RpcServerRegisterIf2 함수 또는 RpcServerRegisterIfEx 함수에 대한 호출에서 제공된 값과 동일해야 합니다.

레지스트리에서 이전에 등록된 모든 형식 UUID에 대해 IfSpec 매개 변수에 지정된 인터페이스를 제거하려면 null 값을 지정합니다.

레지스트리에서 MIDL 생성 기본 관리자 EPV를 제거하려면 nil UUID를 지정합니다. 이 경우 Nil 형식이 아닌 UUID로 등록된 모든 관리자 EPV는 등록된 상태로 유지됩니다.

[in] RundownContextHandles

활성 컨텍스트 핸들에 대한 런다운이 호출되는지 여부를 지정합니다. 0이 아닌 경우 인터페이스의 모든 호출이 완료되면 런다운이 호출됩니다. 0으로 설정하면 RPC 런타임은 서버가 컨텍스트 핸들의 해당 부분을 이미 제거했다고 가정하고 런다운 루틴을 호출하지 않습니다.

반환 값

RPC 상태 반환합니다. 잘못된 값이 제공되지 않는 한 RpcServerUnregisterIfEx는 실패하지 않습니다.

참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

RpcServerUnregisterIfEx 함수는 컨텍스트 핸들을 등록 취소하기 전에 지정된 인터페이스의 모든 호출이 완료되기를 기다립니다.

RpcServerUnregisterIfEx 함수는 RpcServerUnregisterIf 함수에 제공된 모든 기능을 제공합니다. 또한 RpcServerUnregisterIfEx 함수는 지정된 인터페이스에 의해 등록된 모든 컨텍스트 핸들의 등록을 취소합니다. 인터페이스는 strict_context_handle 특성을 사용해야 합니다. 그렇지 않으면 결과가 정의되지 않습니다.

RpcServerUnregisterIfEx 는 프로세스 종료 외부에서 활성 컨텍스트 핸들을 사용하여 DLL의 안전한 언로드를 제공하는 유일한 함수입니다. Windows XP 이상 버전의 Windows에서만 사용할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 Windows XP [데스크톱 앱만 해당]
지원되는 최소 서버 Windows Server 2003 [데스크톱 앱만 해당]
대상 플랫폼 Windows
헤더 rpcdce.h(Rpc.h 포함)
라이브러리 Rpcrt4.lib
DLL Rpcrt4.dll

추가 정보

RPC_MGR_EPV

인터페이스 등록

RpcServerRegisterIf

RpcServerRegisterIf2

RpcServerRegisterIfEx

RpcServerUnregisterIf

컨텍스트 핸들 사용