Freigeben über


RpcEpRegisterA-Funktion (rpcdce.h)

Die RpcEpRegister-Funktion fügt Serveradresseninformationen in der lokalen Endpunktzuordnungsdatenbank hinzu oder ersetzt sie.

Syntax

RPC_STATUS RpcEpRegisterA(
  RPC_IF_HANDLE      IfSpec,
  RPC_BINDING_VECTOR *BindingVector,
  UUID_VECTOR        *UuidVector,
  RPC_CSTR           Annotation
);

Parameter

IfSpec

Schnittstelle zum Registrieren bei der lokalen Endpunktzuordnungsdatenbank.

BindingVector

Zeiger auf einen Bindungsvektor, über den der Server Remoteprozeduraufrufe empfangen kann.

UuidVector

Zeiger auf einen Vektor von Objekt-UUIDs, die vom Server angeboten werden. Die Serveranwendung erstellt diesen Vektor. Ein Null-Argumentwert gibt an, dass keine Objekt-UUIDs registriert werden müssen.

Annotation

Zeiger auf den Zeichenzeichenfolgenkommentar, der auf jedes produktübergreifende Element angewendet wird, das der lokalen Endpunktzuordnungsdatenbank hinzugefügt wurde. Die Zeichenfolge kann bis zu 64 Zeichen lang sein, einschließlich des Null-Endzeichens. Geben Sie einen NULL-Wert oder eine mit Null beendete Zeichenfolge ("\0") an, wenn keine Anmerkungszeichenfolge vorhanden ist.

Die Anmerkungszeichenfolge wird nur von Anwendungen für Informationen verwendet. RPC verwendet diese Zeichenfolge nicht, um zu bestimmen, mit welcher Serverinstanz ein Client kommuniziert, oder um Elemente in der Endpunktzuordnungsdatenbank aufzulisten.

Rückgabewert

Wert Bedeutung
RPC_S_OK
Der Aufruf war erfolgreich.
RPC_S_NO_BINDINGS
Keine Bindungen.
RPC_S_INVALID_BINDING
Das Bindungshandle war ungültig.
RPC_S_WRONG_KIND_OF_BINDING
Dies war die falsche Art von Bindung für den Vorgang.
 
Hinweis Eine Liste gültiger Fehlercodes finden Sie unter RPC-Rückgabewerte.
 

Bemerkungen

Die funktion RpcEpRegister fügt Einträge in der Endpunktzuordnungsdatenbank des lokalen Hosts hinzu oder ersetzt sie. Bei einem vorhandenen Datenbankeintrag, der der bereitgestellten Schnittstellenspezifikation, dem Bindungshandle und objekt-UUID entspricht, ersetzt diese Funktion den Endpunkt des Eintrags durch den Endpunkt im bereitgestellten Bindungshandle.

Ein Server kann RpcEpRegister- und RpcEpRegisterNoReplace- verwenden, um Einträge in der Endpunktzuordnungsdatenbank zu registrieren. Vor Windows 2000 waren zwei Funktionen verfügbar, um einem Server das Überschreiben veralteter Einträge in der Endpunktzuordnungsdatenbank aus früheren Serverinstanzen zu ermöglichen, die nicht mehr ausgeführt werden. Die Endpunktzuordnungsdatenbank entfernt Einträge, die von einer Serverinstanz registriert wurden, automatisch, sobald der Server nicht mehr funktioniert. Server dürfen die Endpunktzuordnungseinträge eines anderen Servers jedoch nicht für Sicherheitszwecke ersetzen. Daher führen rpcEpRegister und RpcEpRegisterNoReplace weitgehend die gleichen Funktionen aus.

Eine Serveranwendung ruft RpcEpRegister- auf, um durch Aufrufen einer der folgenden Funktionen angegebene Endpunkte zu registrieren:

Wenn der Server auch in die Namensdienstdatenbank exportiert, ruft der Server RpcEpRegister- mit demselben IfSpec-, BindingVector-und UuidVector- Werte auf, die beim Aufrufen der RpcNsBindingExport-Funktion verwendet werden.

Wenn eine Protokollsequenz ohne Angabe eines Endpunkts verwendet wird, generiert die RPC-Laufzeitbibliothek automatisch einen dynamischen Endpunkt.If a protocol sequence is used without specifying an endpoint, the RPC run-time library automatically generates a dynamic endpoint.. In diesem Fall kann der Server RpcServerInqBindings gefolgt von RpcEpRegister- aufrufen, um sich für mehrere Clients zur Verfügung zu stellen. Andernfalls ist der automatisch gestartete Server nur für den Client bekannt, für den der Server gestartet wurde. Jedes Element, das der Endpunktzuordnungsdatenbank hinzugefügt wurde, enthält logisch Folgendes:

  • Schnittstelle UUID-
  • Schnittstellenversion (Haupt- und Nebenversion)
  • Bindungshandle
  • Objekt UUID (optional)
  • Anmerkung (optional)
RpcEpRegister- erstellt ein produktübergreifendes Element aus dem IfSpec, BindingVectorund UuidVector Parameter und fügt jedes Element im produktübergreifenden Element als separate Registrierung in der Endpunktzuordnungsdatenbank hinzu.

Anmerkung

Der rpcdce.h-Header definiert RpcEpRegister 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- rpcdce.h (include Rpc.h)
Library Rpcrt4.lib
DLL- Rpcrt4.dll

Siehe auch

RpcBindingFromStringBinding

RpcEpRegisterNoReplace-

rpcEpUnregister-

RpcNsBindingExport-

rpcServerInqBindings-

RpcServerUseAllProtseqs

RpcServerUseAllProtseqsIf

RpcServerUseProtseq-

RpcServerUseProtseqEp-

RpcServerUseProtseqIf-