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
Il numero massimo di operazioni di lettura in ingresso in corso da consentire nel QP viene restituito in questa posizione.
[out, optional] pOutboundReadLimit
Il numero massimo di operazioni di lettura in uscita in corso da consentire nel 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 riuscita. |
|
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. |
Commenti
La funzione NdkGetConnectionData ottiene i dati privati inviati dal peer con le richieste di connessione, accettazione o rifiuto e i valori di limite di lettura in ingresso e in uscita effettivi. Questi valori sono derivati dai valori richiesti dei peer locali e remoti e dai limiti massimi del provider.
Per accedere ai dati privati e ai valori IRD (Inbound Read Limit) effettivi e 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 cui 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 del buffer dei dati private necessarie 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 RDS in *pPrivateDataLength prima di restituire.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | None supported,Supported in NDIS 6.30 and later. |
Server minimo supportato | Windows Server 2012 |
Piattaforma di destinazione | Windows |
Intestazione | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |