NDK_FN_CREATE_SRQ função de retorno de chamada (ndkpi.h)
A função NdkCreateSrq (NDK_FN_CREATE_SRQ) cria um objeto SRQ (fila de recebimento compartilhado) do NDK.
Sintaxe
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
)
{...}
Parâmetros
[in] pNdkPd
Um ponteiro para um objeto PD (domínio de proteção NDK) (NDK_PD).
[in] SrqDepth
O número máximo de solicitações de recebimento que podem ser pendentes pelo SRQ. Esse valor deve ser menor ou igual ao valor no membro MaxSrqDepth especificado na estrutura NDK_ADAPTER_INFO.
[in] MaxReceiveRequestSge
O número máximo de SGEs com suporte em uma única solicitação de recebimento. Esse valor deve ser menor ou igual ao valor no membro MaxReceiveRequestSge especificado na estrutura NDK_ADAPTER_INFO.
[in] NotifyThreshold
O número mínimo de solicitações de recebimento na fila para disparar retornos de chamada de notificação SRQ.
[in, optional] SrqNotification
Uma função NdkSrqNotificationCallback opcional(NDK_FN_SRQ_NOTIFICATION_CALLBACK) que o provedor chama se a contagem de solicitações de recebimento na fila estiver abaixo do limite especificado no parâmetro NotifyThreshold.
[in, optional] SrqNotificationContext
Um valor de contexto que o provedor NDK passa de volta para a função NdkSrqNotificationCallback especificada no parâmetro SrqNotification.
[in, optional] Affinity
Uma máscara de afinidade (GROUP_AFFINITY) que especifica os processadores preferenciais que o consumidor escolheria para executar os retornos de chamada NdkSrqNotificationCallback. Os provedores devem respeitar as preferências do processador se o hardware subjacente permitir, mas os consumidores não podem assumir que NdkSrqNotificationCallback retornos de chamada ocorrerão apenas nos processadores preferenciais. Defina affinity como NULL se não houver processadores preferenciais.
[in] CreateCompletion
Um ponteiro para uma função NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) que conclui a criação de um objeto NDK.
[in, optional] RequestContext
Um valor de contexto que o provedor NDK passa de volta para a função NdkCreateCompletion especificada no parâmetro CreateCompletion.
ppNdkSrq
Um ponteiro para um objeto SRQ criado (NDK_SRQ) será retornado nesse local se a solicitação for bem-sucedida sem retornar STATUS_PENDING. Se a solicitação retornar STATUS_PENDING, esse parâmetro será ignorado e o objeto criado será retornado com o retorno de chamada especificado no parâmetro CreateCompletion.
Valor de retorno
A função NdkCreateSrq retorna um dos seguintes códigos NTSTATUS.
Código de retorno | Descrição |
---|---|
|
O objeto SRQ foi criado com êxito e retornado com o parâmetro de *ppNdkSrq. |
|
A operação está pendente e será concluída posteriormente. O provedor chamará a função especificada no parâmetro CreateCompletion (NDK_FN_CREATE_COMPLETION) para concluir a operação pendente. |
|
A solicitação falhou porque o SrqDepth solicitado ou MaxReceiveRequestSge não está dentro dos limites especificados na estrutura NDK_ADAPTER_INFO. |
|
A solicitação falhou devido a recursos insuficientes.
Importante A solicitação pode falhar embutida, bem como de forma assíncrona com esse código de status.
|
|
Ocorreu um erro. |
Observações
A função NdkCreateSrq cria um objeto SRQ (fila de recebimento compartilhado) do NDK. Se a função retornar STATUS_SUCCESS, o objeto criado será retornado no parâmetro ppNdkSrq. Se NdkCreateSrq retornar STATUS_PENDING, o objeto criado será retornado pela função NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) especificada no parâmetro CreateCompletion.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Nenhum com suporte, com suporte no NDIS 6.30 e posterior. |
servidor com suporte mínimo | Windows Server 2012 |
da Plataforma de Destino | Windows |
cabeçalho | ndkpi.h (inclua Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
Consulte também
requisitos de tempo de vida do objeto NDKPI