NDK_FN_GET_CONNECTION_DATA funzione di callback (ndkpi.h)
La funzione NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA) ottiene i valori limite di lettura e i dati privati inviati dal peer.
Sintassi
NDK_FN_GET_CONNECTION_DATA NdkFnGetConnectionData;
NTSTATUS NdkFnGetConnectionData(
[in] NDK_CONNECTOR *pNdkConnector,
[out, optional] ULONG *pInboundReadLimit,
[out, optional] ULONG *pOutboundReadLimit,
PVOID pPrivateData,
ULONG *pPrivateDataLength
)
{...}
Parametri
[in] pNdkConnector
Puntatore a un oggetto connettore NDK (NDK_CONNECTOR).
[out, optional] pInboundReadLimit
In questa posizione viene restituito il numero massimo di operazioni di lettura in ingresso da consentire sul QP.
[out, optional] pOutboundReadLimit
Il numero massimo di operazioni di lettura in uscita in corso da consentire sul QP viene restituito in questa posizione.
pPrivateData
Puntatore a dati privati restituiti.
pPrivateDataLength
Lunghezza, in byte, dei dati privati forniti nel parametro pPrivateData.
Valore restituito
La funzione NdkGetConnectionData restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
|
Operazione completata correttamente. |
|
Il valore nel parametro *pPrivateDataLength ha specificato una dimensione del buffer troppo piccola per contenere i dati privati della connessione. *pPrivateDataLength viene aggiornato con le dimensioni necessarie. |
|
Si è verificato un errore. |
Osservazioni
La funzione NdkGetConnectionData ottiene i dati privati inviati dal peer con connessioni, accettare o rifiutare le richieste e i valori effettivi del limite di lettura in ingresso e in uscita. Questi valori sono derivati dai valori richiesti dai peer locali e remoti e dai limiti massimi del provider.
Per accedere ai dati privati e al limite di lettura in ingresso effettivo (IRD) e ai valori ORD (Outbound Read Limit) dal lato attivo, un consumer NDK può chiamare NdkGetConnectionData per un oggetto connettore passato alla funzione NDK_FN_CONNECT_EVENT_CALLBACK.
Per accedere ai dati privati e ai valori IRD e ORD effettivi dal lato passivo, il consumer può chiamare NdkGetConnectionData per un oggetto connettore per il quale NDK_FN_CONNECT o NDK_FN_CONNECT_WITH_SHARED_ENDPOINT completato correttamente Un consumer NDK non chiamerà questa funzione dopo che chiama la funzione NDK_FN_ACCEPT sul lato passivo o la funzione NDK_FN_COMPLETE_CONNECT sul lato attivo.
Se il parametro pPrivateData è NULL e *pPrivateDataLength è zero, un provider NDK deve restituire STATUS_SUCCESS e archiviare le dimensioni necessarie del buffer dei dati privati (RDS) in *pPrivateDataLength.
Se pPrivateData non è NULL, il provider deve copiare i dati privati nel buffer in pPrivateData fino al più piccolo di *pPrivateDataLength o RDS in byte.
Se *pPrivateDataLength è maggiore o uguale a rds, il provider deve restituire STATUS_SUCCESS. In caso contrario, il provider deve restituire STATUS_BUFFER_TOO_SMALL. In entrambi i casi, il provider deve archiviare il rds in *pPrivateDataLength prima di restituire.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Nessuna supportata, supportata in NDIS 6.30 e versioni successive. |
server minimo supportato | Windows Server 2012 |
piattaforma di destinazione | Finestre |
intestazione | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |