NDK_FN_CREATE_SRQ funzione di callback (ndkpi.h)

La funzione NdkCreateSrq (NDK_FN_CREATE_SRQ) crea un oggetto coda di ricezione condivisa NDK (SRQ).

Sintassi

NDK_FN_CREATE_SRQ NdkFnCreateSrq;

NTSTATUS NdkFnCreateSrq(
  [in]           NDK_PD *pNdkPd,
  [in]           ULONG SrqDepth,
  [in]           ULONG MaxReceiveRequestSge,
  [in]           ULONG NotifyThreshold,
  [in, optional] NDK_FN_SRQ_NOTIFICATION_CALLBACK SrqNotification,
  [in, optional] PVOID SrqNotificationContext,
  [in, optional] GROUP_AFFINITY *Affinity,
  [in]           NDK_FN_CREATE_COMPLETION CreateCompletion,
  [in, optional] PVOID RequestContext,
                 NDK_SRQ **ppNdkSrq
)
{...}

Parametri

[in] pNdkPd

Puntatore a un oggetto PD (NDK Protection Domain) (NDK_PD).

[in] SrqDepth

Numero massimo di richieste di ricezione che possono essere in sospeso su SRQ. Questo valore deve essere minore o uguale al valore nel membro MaxSrqDepth specificato nella struttura NDK_ADAPTER_INFO .

[in] MaxReceiveRequestSge

Numero massimo di SGEs supportati in una singola richiesta di ricezione. Questo valore deve essere minore o uguale al valore nel membro MaxReceiveRequestSge specificato nella struttura NDK_ADAPTER_INFO.

[in] NotifyThreshold

Numero minimo di richieste di ricezione in coda per l'attivazione dei callback di notifica SRQ.

[in, optional] SrqNotification

Funzione facoltativa NdkSrqNotificationCallback (NDK_FN_SRQ_NOTIFICATION_CALLBACK) che il provider chiama se il numero di richieste di ricezione accodato scende al di sotto della soglia specificata nel parametro NotifyThreshold .

[in, optional] SrqNotificationContext

Valore di contesto che il provider NDK passa nuovamente alla funzione NdkSrqNotificationCallback specificata nel parametro SrqNotification .

[in, optional] Affinity

Maschera di affinità (GROUP_AFFINITY) che specifica processori preferiti che il consumer sceglie di eseguire i callback NdkSrqNotificationCallback . I provider devono rispettare le preferenze del processore se l'hardware sottostante lo consente, ma i consumer non possono presupporre che i callback di NdkSrqNotificationCallback si verificheranno solo nei processori preferiti. Impostare Affinità su NULL se non sono presenti processori preferiti.

[in] CreateCompletion

Puntatore a una funzione NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) che completa la creazione di un oggetto NDK.

[in, optional] RequestContext

Valore di contesto passato al provider NDK alla funzione NdkCreateCompletion specificata nel parametro CreateCompletion .

ppNdkSrq

Un puntatore a un oggetto SRQ creato (NDK_SRQ) viene restituito in questa posizione se la richiesta ha esito positivo senza restituire STATUS_PENDING. Se la richiesta restituisce STATUS_PENDING, questo parametro viene ignorato e l'oggetto creato viene restituito con il callback specificato nel parametro CreateCompletion .

Valore restituito

La funzione NdkCreateSrq restituisce uno dei codici NTSTATUS seguenti.

Codice restituito Descrizione
STATUS_SUCCESS
L'oggetto SRQ è stato creato correttamente e restituito con il parametro *ppNdkSrq .
STATUS_PENDING
L'operazione è in sospeso e verrà completata in un secondo momento. Il provider chiamerà la funzione specificata nel parametro CreateCompletion (NDK_FN_CREATE_COMPLETION) per completare l'operazione in sospeso.
STATUS_INVALID_PARAMETER
La richiesta non è riuscita perché la richiesta SrqDepth o MaxReceiveRequestSge non rientra nei limiti specificati nella struttura NDK_ADAPTER_INFO .
STATUS_INSUFFICIENT_RESOURCES
La richiesta non è riuscita a causa di risorse insufficienti.
Importante La richiesta può non riuscire inline e in modo asincrono con questo codice di stato.
 
Altri codici di stato
Si è verificato un errore.

Commenti

La funzione NdkCreateSrq crea un oggetto coda di ricezione condivisa NDK (SRQ). Se la funzione restituisce STATUS_SUCCESS, l'oggetto creato viene restituito nel parametro ppNdkSrq . Se NdkCreateSrq restituisce STATUS_PENDING, l'oggetto creato viene restituito dalla funzione NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) specificata nel parametro CreateCompletion .

Requisiti

Requisito Valore
Client minimo supportato Nessuna supportata, supportata in NDIS 6.30 e versioni successive.
Server minimo supportato Windows Server 2012
Piattaforma di destinazione Windows
Intestazione ndkpi.h (include Ndkpi.h)
IRQL <=DISPATCH_LEVEL

Vedi anche

GROUP_AFFINITY

Requisiti di durata dell'oggetto ND KPI

NDK_ADAPTER_INFO

NDK_FN_CREATE_COMPLETION

NDK_FN_SRQ_NOTIFICATION_CALLBACK

NDK_PD

NDK_SRQ