共用方式為


RpcNsMgmtBindingUnexportA 函式 (rpcnsi.h)

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

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

語法

RPC_STATUS RpcNsMgmtBindingUnexportA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      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 函式如何使用 IfId 參數所指向之結構的 VersMajorVersMinor 成員。

下表描述 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 相同的主要版本取消匯出 IfId 中介面 UUID 的系結, (會忽略次要版本) 。 針對此值,針對 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 函式,以取消註冊已向端點對應資料庫註冊的伺服器。

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

注意

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

規格需求

需求
最低支援的用戶端 Windows 2000 專業版 [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
目標平台 Windows
標頭 rpcnsi.h (包含 Rpc.h)
程式庫 Rpcns4.lib
Dll Rpcns4.dll

另請參閱

RpcMgmtEpUnregister

RpcNsBindingExport

RpcNsBindingUnexport