共用方式為


rpcServerUnregisterIf 函式 (rpcdce.h)

RpcServerUnregisterIf 函式會從 RPC 運行時間連結庫登錄中移除介面。

語法

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

參數

IfSpec

要從登錄中移除的介面。

指定 Null 值,以移除先前向 MgrTypeUuid 參數中指定的類型 UUID 值註冊的所有介面。

MgrTypeUuid

要從登錄中移除之管理員進入點向量類型 UUID 的指標, (EPV) 。 MgrTypeUuid 的值應該與呼叫 RpcServerRegisterIf 函式、RpcServerRegisterIf2 函式或 RpcServerRegisterIfEx 函式中提供的值相同。

指定 Null 值,從登錄中移除所有先前已註冊類型 UUID 的 IfSpec 參數中指定的介面。

指定 nil UUID,以從登錄中移除 MIDL 產生的預設管理員 EPV。 在此情況下,所有以非 nil 類型 UUID 註冊的經理 EPV 都會保持註冊狀態。

WaitForCallsToComplete

旗標,指出是否要立即從登錄中移除介面,或等到所有目前的呼叫都完成為止。

指定零值以忽略進行中的呼叫,並立即從登錄中移除 介面。 指定要等到所有作用中呼叫完成為止的非零值。

傳回值

意義
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