Freigeben über


NDK_FN_GET_CONNECTION_DATA Rückruffunktion (ndkpi.h)

Die NdkGetConnectionData- (NDK_FN_GET_CONNECTION_DATA) ruft Lesegrenzwerte und die privaten Daten ab, die vom Peer gesendet werden.

Syntax

NDK_FN_GET_CONNECTION_DATA NdkFnGetConnectionData;

NTSTATUS NdkFnGetConnectionData(
  [in]            NDK_CONNECTOR *pNdkConnector,
  [out, optional] ULONG *pInboundReadLimit,
  [out, optional] ULONG *pOutboundReadLimit,
                  PVOID pPrivateData,
                  ULONG *pPrivateDataLength
)
{...}

Parameter

[in] pNdkConnector

Ein Zeiger auf ein NDK-Verbinderobjekt (NDK_CONNECTOR).

[out, optional] pInboundReadLimit

Die maximale Anzahl eingehender in Bearbeitung ausgeführter Lesevorgänge, die für den QP zulässig sind, wird an diesem Speicherort zurückgegeben.

[out, optional] pOutboundReadLimit

Die maximale Anzahl ausgehender in Bearbeitung ausgeführter Lesevorgänge, die für den QP zulässig sind, wird an diesem Speicherort zurückgegeben.

pPrivateData

Ein Zeiger auf private Daten, die zurückgegeben werden.

pPrivateDataLength

Die Länge der privaten Daten, die im pPrivateData Parameter bereitgestellt werden.

Hinweis Der Ausgabewert gibt nicht die tatsächliche Länge privater Daten an, die im Puffer gespeichert sind. NDK-Verbraucher müssen das Format und die Länge der tatsächlichen privaten Daten aushandeln. Weitere Informationen zu privaten Daten finden Sie im Abschnitt "Hinweise".
 

Rückgabewert

Die funktion NdkGetConnectionData gibt einen der folgenden NTSTATUS-Codes zurück.

Rückgabecode Beschreibung
STATUS_SUCCESS
Der Vorgang wurde erfolgreich abgeschlossen.
STATUS_BUFFER_TOO_SMALL
Der Wert im *pPrivateDataLength Parameter hat eine Puffergröße angegeben, die zu klein war, um die privaten Verbindungsdaten aufzunehmen. *pPrivateDataLength wird mit der erforderlichen Größe aktualisiert.
Andere Statuscodes
Fehler.

Bemerkungen

Die NdkGetConnectionData--Funktion ruft die privaten Daten ab, die vom Peer mit Verbindungs-, Annehmen- oder Ablehnen-Anforderungen und den effektiven Grenzwerten für eingehende und ausgehende Lesevorgänge gesendet werden. Diese Werte werden von den angeforderten Werten des lokalen und Remote-Peers und den maximal zulässigen Grenzwerten des Anbieters abgeleitet.

Um auf die privaten Daten und den effektiven IrD-Wert (Bound Read Limit, IRD) und die Werte des Ausgehenden Leselimits (ORD) von der aktiven Seite zuzugreifen, kann ein NDK-Consumer NdkGetConnectionData- für ein Connectorobjekt aufrufen, das an die NDK_FN_CONNECT_EVENT_CALLBACK-Funktion übergeben wurde.

Um auf die privaten Daten und effektiven IRD- und ORD-Werte von der passiven Seite zuzugreifen, kann der Consumer NdkGetConnectionData- für ein Connectorobjekt aufrufen, für das NDK_FN_CONNECT oder NDK_FN_CONNECT_WITH_SHARED_ENDPOINT erfolgreich abgeschlossen wurde, ruft ein NDK-Consumer diese Funktion nicht auf, nachdem sie die NDK_FN_ACCEPT-Funktion auf der passiven Seite oder die NDK_FN_COMPLETE_CONNECT-Funktion aufgerufen hat. auf der aktiven Seite.

Wenn der parameter pPrivateData NULL ist und *pPrivateDataLength null ist, muss ein NDK-Anbieter STATUS_SUCCESS zurückgeben und die erforderliche Größe des privaten Datenpuffers (RDS) in *pPrivateDataLengthspeichern.

Hinweis Die erforderliche Größe des privaten Datenpuffers (RDS-) weist nicht darauf hin, dass der Peer so viele private Daten gesendet hat. Der NDK-Consumer muss auf beiden Enden über ein gemeinsames Schema verfügen, damit das empfangende Ende bestimmen kann, ob es private Daten gibt oder nicht im privaten Datenpuffer. Die RDS- kann für jede Verbindung unterschiedlich sein.
 
Wenn pPrivateData- NULL ist und *pPrivateDataLength- größer als 0 ist, ist dies eine ungültige Anforderung. Ein Verbraucher darf dies niemals tun.

Wenn pPrivateData- nicht NULL ist, muss der Anbieter die privaten Daten bei pPrivateData- bis zu den kleineren *pPrivateDataLength- oder RDS- in Byte kopieren.

Wenn *pPrivateDataLength- größer oder gleich RDS-ist, muss der Anbieter STATUS_SUCCESS zurückgeben. Andernfalls muss der Anbieter STATUS_BUFFER_TOO_SMALL zurückgeben. In beiden Fällen muss der Anbieter die RDS- vor der Rückgabe in *pPrivateDataLength- speichern.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Keine unterstützt,in NDIS 6.30 und höher unterstützt.
mindestens unterstützte Server- Windows Server 2012
Zielplattform- Fenster
Header- ndkpi.h (include Ndkpi.h)
IRQL- <=DISPATCH_LEVEL

Siehe auch

NDK_CONNECTOR

NDK_CONNECTOR_DISPATCH