다음을 통해 공유


RpcServerInterfaceGroupDeactivate 함수(rpcdce.h)

RpcServerInterfaceGroupDeactivate 함수는 RPC 런타임에 지정된 인터페이스 그룹을 닫으려고 시도하도록 지시하고, 선택적으로 미해결 클라이언트 작업이 있는 경우 작업을 중단합니다.

구문

RPC_STATUS RpcServerInterfaceGroupDeactivate(
  [in] RPC_INTERFACE_GROUP IfGroup,
  [in] unsigned long       ForceDeactivation
);

매개 변수

[in] IfGroup

비활성화할 인터페이스 그룹을 정의하는 RpcServerInterfaceGroupCreateRPC_INTERFACE_GROUP

[in] ForceDeactivation

TRUE인 경우 RPC 런타임은 클라이언트 작업을 무시하고 인터페이스 그룹을 무조건 비활성화해야 합니다. FALSE이면 새 작업이 수행되면 작업을 중단해야 합니다.

반환 값

의미
RPC_S_OK
호출이 성공했습니다.
RPC_S_SERVER_TOO_BUSY
ForceDeactivationFALSE 이며 뛰어난 클라이언트 작업이 있습니다.
 
참고 유효한 오류 코드 목록은 RPC 반환 값을 참조하세요.
 

설명

RpcServerInterfaceGroupDeactivate 는 서버 애플리케이션에서 인터페이스 그룹의 인터페이스 및 엔드포인트를 등록 취소하는 데 사용됩니다. RPC 서버 애플리케이션에서 수행해야 하는 대부분의 종료 작업을 수행합니다. 다음 작업을 수행합니다.

  • RPC 엔드포인트 매퍼에서 엔드포인트 및 인터페이스를 등록 취소합니다.
  • 서버 런타임에서 엔드포인트를 등록 취소합니다.
  • 서버 런타임에서 인터페이스를 등록 취소합니다.
  • 다른 인터페이스가 없는 경우 호출 수신 대기를 중지하도록 런타임에 지시합니다.

ForceDeactivationFALSE이면 RpcServerInterfaceGroupDeactivate는 미해결 클라이언트 작업이 없는 경우에만 인터페이스 그룹을 비활성화합니다. 비활성화 프로세스 중에 새 활동이 도착하면 RPC_S_SERVER_TOO_BUSY 반환됩니다. 이 경우 작업은 롤백되고 인터페이스 그룹은 계속해서 호출을 받고 디스패치합니다.

ForceDeactivationTRUE이면 RpcServerInterfaceGroupDeactivate가 실패하지 않습니다.

서비스 애플리케이션은 유휴 콜백 함수 RpcServerInterfaceGroupCreate 에서 ForceDeactivationFALSE 로 설정된 RpcServerInterfaceGroupDeactivate를 호출할 수 있습니다. RPC 서비스 시작 트리거와 함께 사용하면 잠재적인 클라이언트에서 호출을 누락하지 않고도 안전하게 유휴 상태로 중지할 수 있습니다.

요구 사항

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

추가 정보

RpcServerInterfaceGroupActivate

RpcServerInterfaceGroupClose

RpcServerInterfaceGroupCreate

RpcServerInterfaceGroupInqBindings