RpcServerInterfaceGroupDeactivate 함수(rpcdce.h)
RpcServerInterfaceGroupDeactivate 함수는 RPC 런타임에 지정된 인터페이스 그룹을 닫으려고 시도하도록 지시하고, 선택적으로 미해결 클라이언트 작업이 있는 경우 작업을 중단합니다.
구문
RPC_STATUS RpcServerInterfaceGroupDeactivate(
[in] RPC_INTERFACE_GROUP IfGroup,
[in] unsigned long ForceDeactivation
);
매개 변수
[in] IfGroup
비활성화할 인터페이스 그룹을 정의하는 RpcServerInterfaceGroupCreate의 RPC_INTERFACE_GROUP
[in] ForceDeactivation
TRUE인 경우 RPC 런타임은 클라이언트 작업을 무시하고 인터페이스 그룹을 무조건 비활성화해야 합니다. FALSE이면 새 작업이 수행되면 작업을 중단해야 합니다.
반환 값
값 | 의미 |
---|---|
|
호출이 성공했습니다. |
|
ForceDeactivation 은 FALSE 이며 뛰어난 클라이언트 작업이 있습니다. |
설명
RpcServerInterfaceGroupDeactivate 는 서버 애플리케이션에서 인터페이스 그룹의 인터페이스 및 엔드포인트를 등록 취소하는 데 사용됩니다. RPC 서버 애플리케이션에서 수행해야 하는 대부분의 종료 작업을 수행합니다. 다음 작업을 수행합니다.
- RPC 엔드포인트 매퍼에서 엔드포인트 및 인터페이스를 등록 취소합니다.
- 서버 런타임에서 엔드포인트를 등록 취소합니다.
- 서버 런타임에서 인터페이스를 등록 취소합니다.
- 다른 인터페이스가 없는 경우 호출 수신 대기를 중지하도록 런타임에 지시합니다.
ForceDeactivation이 FALSE이면 RpcServerInterfaceGroupDeactivate는 미해결 클라이언트 작업이 없는 경우에만 인터페이스 그룹을 비활성화합니다. 비활성화 프로세스 중에 새 활동이 도착하면 RPC_S_SERVER_TOO_BUSY 반환됩니다. 이 경우 작업은 롤백되고 인터페이스 그룹은 계속해서 호출을 받고 디스패치합니다.
ForceDeactivation이 TRUE이면 RpcServerInterfaceGroupDeactivate가 실패하지 않습니다.
서비스 애플리케이션은 유휴 콜백 함수 RpcServerInterfaceGroupCreate 에서 ForceDeactivation 이 FALSE 로 설정된 RpcServerInterfaceGroupDeactivate를 호출할 수 있습니다. RPC 서비스 시작 트리거와 함께 사용하면 잠재적인 클라이언트에서 호출을 누락하지 않고도 안전하게 유휴 상태로 중지할 수 있습니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | rpcdce.h(Rpc.h 포함) |
라이브러리 | Rpcrt4.lib |
DLL | Rpcrt4.dll |