NDK_FN_ACCEPT_EX funzione di callback (ndkpi.h)
La funzione NdkAcceptEx (NDK_FN_ACCEPT_EX) accetta una richiesta di connessione in ingresso su un oggetto listener.
Sintassi
NDK_FN_ACCEPT_EX NdkFnAcceptEx;
NTSTATUS NdkFnAcceptEx(
[in] NDK_CONNECTOR *pNdkConnector,
[in] NDK_QP *pNdkQp,
[in] ULONG InboundReadLimit,
[in] ULONG OutboundReadLimit,
[_In_reads_bytes_opt_(PrivateDataLength)] const PVOID pPrivateData,
[in] ULONG PrivateDataLength,
[in, optional] NDK_FN_DISCONNECT_EVENT_CALLBACK_EX DisconnectEvent,
[in, optional] PVOID DisconnectEventContext,
[in] NDK_FN_REQUEST_COMPLETION RequestCompletion,
[in, optional] PVOID RequestContext
)
{...}
Parametri
[in] pNdkConnector
Puntatore a un oggetto connettore NDK (NDK_CONNECTOR).
[in] pNdkQp
Puntatore a un oggetto QP (NDK queue pair) (NDK_QP) da associare alla connessione.
[in] InboundReadLimit
Numero massimo fornito dal consumer delle operazioni di lettura in ingresso in corso per consentire il QP. Se il provider sottostante ha un valore MassimoInboundReadLimit inferiore nella struttura NDK_ADAPTER_INFO , il provider limiterà il valore fornito dal consumer al massimo del provider. Se il peer ha un valore outboundReadLimit inferiore, il provider userà tale valore come InboundReadLimit effettivo. Il consumer può recuperare l'effettivo InboundReadLimit chiamando la funzione NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[in] OutboundReadLimit
Numero massimo di operazioni di lettura in uscita fornite dal consumer per consentire le operazioni di lettura in uscita per consentire il QP. Se il provider sottostante ha un valore MassimoOutboundReadLimit inferiore nella struttura NDK_ADAPTER_INFO , il provider limiterà il valore fornito dal consumer al massimo del provider. Se il peer ha un valore InboundReadLimit inferiore, il provider userà tale valore come outboundReadLimit effettivo. Il consumer può recuperare l'effettivo OutboundReadLimit chiamando la funzione NdkGetConnectionData (NDK_FN_GET_CONNECTION_DATA).
[_In_reads_bytes_opt_(PrivateDataLength)] pPrivateData
Dati privati inviati di nuovo con la richiesta di accettazione.
[in] PrivateDataLength
Lunghezza, in byte, dei dati privati forniti nel parametro pPrivateData .
[in, optional] DisconnectEvent
Punto di ingresso per una funzione di callback di notifica disconnessione facoltativa NdkDisconnectEventCallbackEx NDK_FN_DISCONNECT_EVENT_CALLBACK_EX. Il provider chiama questa funzione di callback quando il peer si disconnette.
[in, optional] DisconnectEventContext
Valore di contesto da passare al parametro DisconnectEventContext della funzione di callback specificata nel parametro DisconnectEvent .
[in] RequestCompletion
Puntatore a una routine di callback del completamento della richiesta NdkRequestCompletion (NDK_FN_REQUEST_COMPLETION).
[in, optional] RequestContext
Valore di contesto da passare al parametro Context della funzione callback specificata nel parametro RequestCompletion .
Valore restituito
La funzione NDK_FN_ACCEPT_EX restituisce uno dei codici NTSTATUS seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_SUCCESS | Operazione riuscita. |
STATUS_PENDING | L'operazione è in sospeso e verrà completata in un secondo momento. Il driver chiamerà la funzione RequestCompletion (NDK_FN_REQUEST_COMPLETION) specificata per completare l'operazione in sospeso. |
STATUS_CONNECTION_ABORTED | Il peer di connessione ha abbandonato l'istituzione della connessione in sospeso. |
STATUS_IO_TIMEOUT | Il peer non ha chiamato la funzione CompleteConnect (NDK_FN_COMPLETE_CONNECT_EX) per completare la richiesta di connessione in sospeso. |
Altri codici di stato | Si è verificato un errore. |
Commenti
Il consumer NDK chiama NdkAcceptEx per accettare una richiesta di connessione in ingresso su un oggetto listener.
La funzione NdkCreateListener (NDK_FN_CREATE_LISTENER) crea un oggetto listener NDK e fornisce una funzione NdkConnectEventCallback (NDK_FN_CONNECT_EVENT_CALLBACK).
La funzione NdkConnectEventCallback viene usata dal provider NDK per notificare al consumer ogni richiesta di connessione in ingresso.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Supportato in ND KPI 2.1 e versioni successive. |
Server minimo supportato | Windows Server 2022 |
Piattaforma di destinazione | Windows |
Intestazione | ndkpi.h (include Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
Vedi anche
NDK_FN_DISCONNECT_EVENT_CALLBACK_EX