Freigeben über


RtmRegisterEntity-Funktion (rtmv2.h)

Die RtmRegisterEntity-Funktion registriert einen Client bei einer instance des Routingtabellen-Managers für eine bestimmte Adressfamilie. Der Routingtabellen-Manager gibt ein Registrierungshandle und ein Profil der instance zurück. Das Profil enthält eine Liste von Werten, die beim Aufrufen anderer Funktionen verwendet werden. Die Werte umfassen die maximale Anzahl von Zielen, die in einem Puffer durch einen einzelnen Aufruf zurückgegeben werden.

Die Registrierung ist die erste Aktion, die ein Client ausführen sollte.

Syntax

DWORD RtmRegisterEntity(
  [in]  PRTM_ENTITY_INFO           RtmEntityInfo,
  [in]  PRTM_ENTITY_EXPORT_METHODS ExportMethods,
  [in]  RTM_EVENT_CALLBACK         EventCallback,
  [in]  BOOL                       ReserveOpaquePointer,
  [out] PRTM_REGN_PROFILE          RtmRegProfile,
  [out] PRTM_ENTITY_HANDLE         RtmRegHandle
);

Parameter

[in] RtmEntityInfo

Zeiger auf eine RTM_ENTITY_INFO-Struktur . Diese Struktur enthält Informationen, die den Client für den Routingtabellen-Manager identifiziert, z. B. den Routingtabellen-Manager instance und die Adressfamilie, bei der registriert werden soll.

[in] ExportMethods

Zeiger auf eine RTM_ENTITY_EXPORT_METHODS Struktur, die eine Liste der vom Client exportierten Methoden enthält. Dieser Parameter ist optional und kann auf NULL festgelegt werden, wenn der aufrufende Client über keine Methoden zum Exportieren verfügt.

[in] EventCallback

Eine RTM_EVENT_CALLBACK-Struktur , die den Rückruf angibt, den der Routingtabellen-Manager verwendet, um den Client über Ereignisse zu benachrichtigen. Die Ereignisse sind, wenn sich ein Client registriert und die Registrierung auf hebt, wenn Routen ablaufen und wenn Änderungen an der besten Route zu einem Ziel vorgenommen wurden. Nur die Änderungen, die angegeben wurden, wenn der Client RtmRegisterForChangeNotification aufgerufen hat.

[in] ReserveOpaquePointer

Gibt an, ob ein undurchsichtiger Zeiger in jedem Ziel für diese instance des Protokolls reserviert werden soll. Geben Sie TRUE an, um einen undurchsichtigen Zeiger in jedem Ziel zu reservieren. Geben Sie FALSE an, um diese Aktion zu überspringen. Diese undurchsichtigen Zeiger können verwendet werden, um auf einen privaten, protokollspezifischen Kontext für jedes Ziel zu verweisen.

[out] RtmRegProfile

Bei der Eingabe ist RtmRegProfile ein Zeiger auf eine RTM_REGN_PROFILE-Struktur .

Bei der Ausgabe wird RtmRegProfile mit der angeforderten Registrierungsprofilstruktur gefüllt. Der Client muss die informationen verwenden, die in anderen Funktionsaufrufen zurückgegeben werden (die zurückgegebenen Informationen umfassen die Anzahl der gleichwertigen nächsten Hops und die maximale Anzahl von Elementen, die von einem Enumerationsfunktionsaufruf zurückgegeben werden).

[out] RtmRegHandle

Empfängt ein Registrierungshandle für den Client. Dieses Handle muss bei allen nachfolgenden Aufrufen des Routingtabellen-Managers verwendet werden.

Rückgabewert

Wenn die Funktion erfolgreich ist, wird der Rückgabewert NO_ERROR.

Wenn die Funktion fehlschlägt, ist der Rückgabewert einer der folgenden Fehlercodes.

Wert Bedeutung
ERROR_ALREADY_EXISTS
Der angegebene Client wurde bereits beim Routingtabellen-Manager registriert.
ERROR_BAD_CONFIGURATION
Die Registrierungsinformationen für den Routingtabellen-Manager sind beschädigt.
ERROR_FILE_NOT_FOUND
Registrierungsinformationen für den Routingtabellen-Manager wurden nicht gefunden.
ERROR_INVALID_DATA
Ein Parameter enthält falsche Informationen.
ERROR_INVALID_PARAMETER
Ein Parameter enthält falsche Informationen.
ERROR_NO_SYSTEM_RESOURCES
Es sind nicht genügend Systemressourcen verfügbar, um diesen Vorgang abzuschließen.
ERROR_NOT_ENOUGH_MEMORY
Es ist nicht genügend Arbeitsspeicher vorhanden, um diesen Vorgang abzuschließen.

Hinweise

Beispielcode mit dieser Funktion finden Sie unter Registrieren mit dem Routingtabellen-Manager.

Anforderungen

   
Unterstützte Mindestversion (Client) Nicht unterstützt
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile rtmv2.h
Bibliothek Rtm.lib
DLL Rtm.dll

Weitere Informationen

RTM_ENTITY_EXPORT_METHODS

RTM_ENTITY_INFO

RTM_EVENT_CALLBACK

RTM_REGN_PROFILE

RtmDeregisterEntity

RtmGetRegisteredEntities

RtmReleaseEntities