NDK_FN_GET_CONNECTION_DATA Rückruffunktion (ndkpi.h)
Die Funktion NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA) ruft Lesegrenzwerte und die vom Peer gesendeten privaten Daten ab.
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-Connectorobjekt (NDK_CONNECTOR).
[out, optional] pInboundReadLimit
Die maximale Anzahl von eingehenden laufenden Lesevorgängen, die für den QP zulässig sind, wird an diesem Speicherort zurückgegeben.
[out, optional] pOutboundReadLimit
Die maximale Anzahl von ausgehenden laufenden Lesevorgängen, die für die 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 in Bytes, die im pPrivateData-Parameter bereitgestellt werden.
Rückgabewert
Die NdkGetConnectionData-Funktion gibt einen der folgenden NTSTATUS-Codes zurück.
Rückgabecode | Beschreibung |
---|---|
|
Der Vorgang wurde erfolgreich abgeschlossen. |
|
Der Wert im *pPrivateDataLength-Parameter gibt eine Puffergröße an, die zu klein war, um die privaten Verbindungsdaten zu speichern. *pPrivateDataLength wird mit der erforderlichen Größe aktualisiert. |
|
Ein Fehler ist aufgetreten. |
Hinweise
Die NdkGetConnectionData-Funktion ruft die vom Peer gesendeten privaten Daten mit Verbindungs-, Annahme- oder Ablehnungsanforderungen und den effektiven Grenzwerten für eingehende und ausgehende Lesevorgänge ab. Diese Werte werden von den angeforderten Werten der lokalen und Remotepeers und den maximalen Grenzwerten des Anbieters abgeleitet.
Ein NDK-Consumer kann NdkGetConnectionData für ein Connectorobjekt aufrufen, das an die NDK_FN_CONNECT_EVENT_CALLBACK-Funktion übergeben wurde, um auf die privaten Daten und die effektiven IRD-Werte (IRD) und ord (Ausgangsleselimit) zuzugreifen.
Um auf die privaten Daten und die 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. Ein NDK-Consumer ruft diese Funktion nicht auf, nachdem er die NDK_FN_ACCEPT-Funktion auf der passiven Seite oder die NDK_FN_COMPLETE_CONNECT-Funktion auf der aktiven Seite aufgerufen hat.
Wenn der pPrivateData-Parameter NULL und *pPrivateDataLength null ist, muss ein NDK-Anbieter STATUS_SUCCESS zurückgeben und die erforderliche größe des privaten Datenpuffers (RDS) in *pPrivateDataLength speichern.
Wenn pPrivateData nicht NULL ist, muss der Anbieter die privaten Daten in den Puffer bei pPrivateData kopieren, bis zum kleineren Wert von *pPrivateDataLength oder RDS in Bytes.
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 das RDS in *pPrivateDataLength speichern, bevor er zurückgibt.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Keine unterstützt, unterstützt in NDIS 6.30 und höher. |
Unterstützte Mindestversion (Server) | Windows Server 2012 |
Zielplattform | Windows |
Kopfzeile | ndkpi.h (Ndkpi.h einschließen) |
IRQL | <=DISPATCH_LEVEL |