Freigeben über


RpcNsMgmtBindingUnexportA-Funktion (rpcnsi.h)

Die RpcNsMgmtBindingUnexport-Funktion entfernt mehrere Bindungshandles und -objekte aus einem Eintrag in der Name-Service-Datenbank.

Hinweis Diese Funktion wird unter Windows Vista und höheren Betriebssystemen nicht unterstützt.
 

Syntax

RPC_STATUS RpcNsMgmtBindingUnexportA(
  unsigned long EntryNameSyntax,
  RPC_CSTR      EntryName,
  RPC_IF_ID     *IfId,
  unsigned long VersOption,
  UUID_VECTOR   *ObjectUuidVec
);

Parameter

EntryNameSyntax

Syntax von EntryName.

Um die im Registrierungswerteintrag HKEY_LOCAL_MACHINE\Software\Microsoft\Rpc\NameService\DefaultSyntaxangegebene Syntax zu verwenden, geben Sie den Wert RPC_C_NS_SYNTAX_DEFAULT an.

EntryName

Zeiger auf den Namen des Eintrags, aus dem Bindungshandles und Objekt-UUIDs entfernt werden sollen.

IfId

Zeiger auf eine Schnittstellenidentifikation. Ein NULL-Parameterwert gibt an, dass Bindungshandles nicht unexportiert werden dürfen, da nur Objekt-UUIDs nicht exportiert werden sollen.

VersOption

Gibt an, wie die RpcNsMgmtBindingUnexport-Funktion die Elemente VersMajor und VersMinor der Struktur verwendet, auf die der IfId-Parameter verweist.

In der folgenden Tabelle werden gültige Werte für den VersOption-Parameter beschrieben.

VersOption-Werte Bedeutung
RPC_C_VERS_ALL
Hebt alle Bindungen für die Schnittstellen-UUID in IfId auf, unabhängig von den Versionsnummern. Geben Sie für diesen Wert 0 für die Haupt- und Nebenversion in IfId an.
RPC_C_VERS_IF_ID
Hebt die Bindungen für die kompatible Schnittstellen-UUID in IfId mit derselben Hauptversion und einer Nebenversion auf, die größer oder gleich der Nebenversion in IfId ist.
RPC_C_VERS_EXACT
Hebt die Bindungen für die Schnittstellen-UUID in IfId mit den gleichen Haupt- und Nebenversionen wie in IfId auf.
RPC_C_VERS_MAJOR_ONLY
Hebt die Bindungen für die Schnittstellen-UUID in IfId mit derselben Hauptversion wie in IfId auf (ignoriert die Nebenversion). Geben Sie für diesen Wert 0 für die Nebenversion in IfId an.
RPC_C_VERS_UPTO
Hebt die Bindungen auf, die eine Version der angegebenen Schnittstellen-UUID bieten, die kleiner oder gleich der angegebenen Haupt- und Nebenversion ist. (Wenn z. B. die IfId V2.0 enthält und der Name service-datenbank eintrag enthaltene Bindungshandles mit den Versionen 1.3, 2.0 und 2.1 enthält, würde die RpcNsMgmtBindingUnexport-Funktion die Bindungshandles mit den Versionen 1.3 und 2.0 aufzuheben.)

ObjectUuidVec

Zeiger auf einen Vektor von Objekt-UUIDs, die der Server nicht mehr anbieten möchte. Die Anwendung erstellt diesen Vektor. Ein NULL-Wert gibt an, dass keine Objekt-UUIDs zum Aufheben des Exports vorhanden sind. Nur Bindungshandles sollen nicht exportiert werden.

Rückgabewert

Wert Bedeutung
RPC_S_OK
Der Aufruf war erfolgreich.
RPC_S_INVALID_VERS_OPTION
Die Versionsoption ist ungültig.
RPC_S_INVALID_NAME_SYNTAX
Die Namenssyntax ist ungültig.
RPC_S_UNSUPPORTED_NAME_SYNTAX
Die Namenssyntax wird nicht unterstützt.
RPC_S_INCOMPLETE_NAME
Der Name ist unvollständig.
RPC_S_ENTRY_NOT_FOUND
Der Name-Dienst-Eintrag wurde nicht gefunden.
RPC_S_NAME_SERVICE_UNAVAILABLE
Der Namensdienst ist nicht verfügbar.
RPC_S_INTERFACE_NOT_FOUND
Die Schnittstelle wurde nicht gefunden.
RPC_S_NOT_ALL_OBJS_UNEXPORTED
Nicht alle Objekte wurden nicht exportiert.
 
Hinweis Eine Liste der gültigen Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Hinweise

Die RpcNsMgmtBindingUnexport-Funktion ermöglicht es einer Verwaltungsanwendung, eine der folgenden Elemente aus dem Eintrag name service–database zu entfernen:

  • Alle Bindungshandles für eine angegebene Schnittstellen-UUID, die durch die Schnittstellenversionsnummern (Hauptversion und Nebenversion) gekennzeichnet ist
  • Mindestens eine Objekt-UUIDs von Ressourcen
  • Sowohl Bindungshandles als auch Objekt-UUIDs von Ressourcen
Eine Verwaltungsanwendung kann das Exportieren von Schnittstellen und Objekten in einem einzelnen Aufruf von RpcNsMgmtBindingUnexport aufheben oder sie separat aufheben. Wenn RpcNsMgmtBindingUnexport keine Bindungshandles für die angegebene Schnittstelle findet, gibt die Funktion einen RPC_S_INTERFACE_NOT_FOUND status Code zurück und hebt den Export der Objekt-UUIDs nicht auf, sofern angegeben.

Wenn ein oder mehrere Bindungshandles für die angegebene Schnittstelle gefunden und ohne Fehler nicht exportiert werden, hebt RpcNsMgmtBindingUnexport alle angegebenen Objekt-UUIDs auf. Wenn keine der angegebenen Objekt-UUIDs gefunden wurde, gibt RpcNsMgmtBindingUnexport RPC_S_NOT_ALL_OBJS_UNEXPORTED zurück.

Zusätzlich zum Aufrufen von RpcNsMgmtBindingUnexport sollte eine Verwaltungsanwendung auch die RpcMgmtEpUnregister-Funktion aufrufen, um die Registrierung der Server aufzuheben, die sich bei der Datenbank endpoint-map registriert haben.

Hinweis Namensdienstdatenbanken sind relativ stabil. In replizierten Namensdiensten bewirkt die häufige Verwendung der Funktionen RpcNsBindingExport und RpcNsBindingUnexport , dass der Namensdienst den gleichen Eintrag wiederholt entfernt und ersetzt, was zu Leistungsproblemen führen kann.
 

Hinweis

Der rpcnsi.h-Header definiert RpcNsMgmtBindingUnexport als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht Codierungsneutral ist, kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rpcnsi.h (rpc.h einschließen)
Bibliothek Rpcns4.lib
DLL Rpcns4.dll

Weitere Informationen

RpcMgmtEpUnregister

RpcNsBindingExport

RpcNsBindingUnexport