Share via


RpcServerUnregisterIf 함수(rpcdce.h)

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

구문

RPC_STATUS RpcServerUnregisterIf(
  RPC_IF_HANDLE IfSpec,
  UUID          *MgrTypeUuid,
  unsigned int  WaitForCallsToComplete
);

매개 변수

IfSpec

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

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

MgrTypeUuid

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

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

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

WaitForCallsToComplete

레지스트리에서 인터페이스를 즉시 제거할지 또는 모든 현재 호출이 완료될 때까지 대기할지를 나타내는 플래그입니다.

진행 중인 호출을 무시하고 레지스트리에서 인터페이스를 즉시 제거하려면 0 값을 지정합니다. 모든 활성 호출이 완료될 때까지 대기할 0이 아닌 값을 지정합니다.

반환 값

의미
RPC_S_OK
호출이 성공했습니다.
RPC_S_UNKNOWN_MGR_TYPE
관리자 형식을 알 수 없습니다.
RPC_S_UNKNOWN_IF
인터페이스를 알 수 없습니다.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

서버는 RpcServerUnregisterIf 를 호출하여 인터페이스와 관리자 EPV 간의 연결을 제거합니다. MgrTypeUuid 매개 변수에서 제거할 관리자 EPV를 지정하려면 RpcServerRegisterIf 호출에서 지정된 UUID 형식 값을 제공합니다. 레지스트리에서 제거된 후에는 클라이언트 애플리케이션에서 인터페이스를 더 이상 사용할 수 없습니다.

레지스트리에서 인터페이스가 제거되면 RPC 런타임 라이브러리는 해당 인터페이스에 대한 새 호출 수락을 중지합니다. 현재 인터페이스에서 실행 중인 호출은 콜백을 포함하여 완료할 수 있습니다.

다음 표에서는 RpcServerUnregisterIf의 동작을 요약합니다.

IfSpec MgrTypeUuid 동작
null이 아닌 경우 null이 아닌 경우 지정된 매개 변수와 연결된 관리자 EPV를 레지스트리에서 제거합니다.
null이 아닌 경우 NULL IfSpec 매개 변수와 연결된 모든 관리자 EPV를 제거합니다.
NULL null이 아닌 경우 MgrTypeUuid 매개 변수와 연결된 모든 관리자 EPV를 제거합니다.
NULL NULL 모든 관리자 EPV를 제거합니다. 이 호출은 모든 인터페이스에 대한 모든 관리자 EPV가 등록 취소되었기 때문에 서버가 새 원격 프로시저 호출을 수신하지 못하게 하는 효과가 있습니다.
 
 
참고IfSpec 값이 NULL이면 이 함수는 자동 수신 대기 인터페이스를 등록 상태로 둡니다. 자동 수신 대기 인터페이스는 레지스트리에서 개별적으로 제거해야 합니다. 자세한 내용은 RpcServerRegisterIfEx 를 참조하세요.
 

요구 사항

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

추가 정보

RPC_MGR_EPV

인터페이스 등록

RpcServerRegisterIf

RpcServerRegisterIf2

RpcServerRegisterIfEx

RpcServerUnregisterIfEx