共用方式為


RpcNsMgmtBindingUnexportW 函式 (rpcnsi.h)

RpcNsMgmtBindingUnexport 函式會從 name-service 資料庫中的項目移除多個系結句柄和物件。

注意 Windows Vista 和更新版本的作業系統不支援此函式。
 

語法

RPC_STATUS RpcNsMgmtBindingUnexportW(
  unsigned long EntryNameSyntax,
  RPC_WSTR      EntryName,
  RPC_IF_ID     *IfId,
  unsigned long VersOption,
  UUID_VECTOR   *ObjectUuidVec
);

參數

EntryNameSyntax

EntryName的語法。

若要使用登錄值專案中指定的語法 HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntax,請提供 RPC_C_NS_SYNTAX_DEFAULT 的值。

EntryName

要從中移除系結句柄和物件 UUID 的項目名稱指標。

IfId

介面識別的指標。 Null 參數值表示係結句柄不是未導出的,只有物件 UUID 未匯出。

VersOption

指定 RpcNsMgmtBindingUnexport 函式如何使用 VersMajorVersMinorIfId 參數所指向之結構的成員。

下表描述 VersOption 參數的有效值。

VersOption 值 意義
RPC_C_VERS_ALL
不論版本號碼為何,IfId中取消導出介面 UUID 的所有系結。 針對此值,針對 IfId中的主要和次要版本指定 0。
RPC_C_VERS_IF_ID
IfId 中取消導出相容介面 UUID 的系結, 具有相同主要版本,且次要版本大於或等於 IfId中的次要版本。
RPC_C_VERS_EXACT
IfId 中取消導出介面 UUID 的系結,其主要和次要版本與 IfId相同。
RPC_C_VERS_MAJOR_ONLY
IfId 中取消匯出介面 UUID 的系結,其主要版本與 IfId 相同(忽略次要版本)。 針對此值,針對 IfId中的次要版本指定 0。
RPC_C_VERS_UPTO
取消匯出提供小於或等於指定主要和次要版本的指定介面 UUID 版本的系結。 例如,如果 IfId 包含 V2.0,且名稱服務資料庫專案包含具有 1.3、2.0 和 2.1 版的系結句柄,則 RpcNsMgmtBindingUnexport 函式會取消導出具有 1.3 版和 2.0 版的系結句柄。

ObjectUuidVec

伺服器不再想要提供之物件 UUID 向量的指標。 應用程式會建構此向量。 Null 值表示沒有物件 UUID 無法匯出,只有系結句柄未匯出。

傳回值

價值 意義
RPC_S_OK
呼叫成功。
RPC_S_INVALID_VERS_OPTION
版本選項無效。
RPC_S_INVALID_NAME_SYNTAX
名稱語法無效。
RPC_S_UNSUPPORTED_NAME_SYNTAX
不支援名稱語法。
RPC_S_INCOMPLETE_NAME
名稱不完整。
RPC_S_ENTRY_NOT_FOUND
找不到名稱服務專案。
RPC_S_NAME_SERVICE_UNAVAILABLE
無法使用名稱服務。
RPC_S_INTERFACE_NOT_FOUND
找不到 介面。
RPC_S_NOT_ALL_OBJS_UNEXPORTED
並非所有物件都未匯出。
 
注意 如需有效錯誤碼的清單,請參閱 RPC 傳回值
 

言論

RpcNsMgmtBindingUnexport 函式可讓管理應用程式從名稱服務資料庫專案中移除下列其中一項:

  • 指定介面 UUID 的所有系結句柄,由介面版本號碼限定(主要和次要)
  • 一或多個資源的物件 UUID
  • 系結句柄和資源的物件 UUID
管理應用程式可以在單一呼叫中取消導出介面和物件,RpcNsMgmtBindingUnexport,也可以個別取消匯出它們。 如果 RpcNsMgmtBindingUnexport 找不到指定介面的任何系結句柄,則函式會傳回RPC_S_INTERFACE_NOT_FOUND狀態代碼,而且如果有任何指定,則不會取消導出物件 UUID。

如果找到指定介面的一或多個系結句柄且未匯出,則 RpcNsMgmtBindingUnexport 取消導出任何指定的物件 UUID。 如果找不到任何指定的物件 UUID,RpcNsMgmtBindingUnexport 會傳回RPC_S_NOT_ALL_OBJS_UNEXPORTED。

除了呼叫 RpcNsMgmtBindingUnexport之外,管理應用程式也應該呼叫 RpcMgmtEpUnregister 函式來取消註冊已向端點對應資料庫註冊的伺服器。

Note Name-service 資料庫的設計為相對穩定。 在復寫的名稱服務中,經常使用 RpcNsBindingExportRpcNsBindingUnexport 函式,會導致名稱服務重複移除並取代相同的專案,這可能會導致效能問題。
 

注意

rpcnsi.h 標頭會根據 UNICODE 預處理器常數的定義,將 RpcNsMgmtBindingUnexport 定義為自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱函式原型的 慣例。

要求

要求 價值
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
支援的最低伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平臺 窗戶
標頭 rpcnsi.h (包括 Rpc.h)
連結庫 Rpcns4.lib
DLL Rpcns4.dll

另請參閱

RpcMgmtEpUnregister

RpcNsBindingExport

RpcNsBindingUnexport