NDK_FN_CREATE_CQ função de retorno de chamada (ndkpi.h)
A função NdkCreateCq (NDK_FN_CREATE_CQ) cria um objeto CQ (fila de conclusão do NDK).
Sintaxe
NDK_FN_CREATE_CQ NdkFnCreateCq;
NTSTATUS NdkFnCreateCq(
[in] NDK_ADAPTER *pNdkAdapter,
[in] ULONG CqDepth,
[in] NDK_FN_CQ_NOTIFICATION_CALLBACK CqNotification,
[in, optional] PVOID CqNotificationContext,
[in, optional] GROUP_AFFINITY *Affinity,
[in] NDK_FN_CREATE_COMPLETION CreateCompletion,
[in, optional] PVOID RequestContext,
NDK_CQ **ppNdkCq
)
{...}
Parâmetros
[in] pNdkAdapter
Um ponteiro para um objeto de adaptador NDK (NDK_ADAPTER).
[in] CqDepth
O número máximo de entradas de conclusão que o CQ pode conter. Esse valor deve ser menor ou igual ao valor MaxCqDepth especificado na estrutura NDK_ADAPTER_INFO .
[in] CqNotification
Um ponteiro para a função NdkCqNotificationCallback (NDK_FN_CQ_NOTIFICATION_CALLBACK) que o provedor usa para notificar o consumidor quando as conclusões da solicitação são enfileiradas no CQ. O provedor não chamará NdkCqNotificationCallback , a menos que o consumidor arma a notificação com a função NdkArmCq (NDK_FN_ARM_CQ).
[in, optional] CqNotificationContext
Um valor de contexto que o provedor NDK passa de volta para a função NdkCqNotificationCallback especificada no parâmetro CqNotification .
[in, optional] Affinity
Uma máscara de afinidade (GROUP_AFFINITY) que fornece processadores preferenciais que o consumidor escolheria para executar os retornos de chamada NdkCqNotificationCallback . Os provedores deverão respeitar as preferências do processador se o hardware subjacente permitir, mas os consumidores não poderão assumir que os retornos de chamada de NdkCqNotificationCallback ocorrerão apenas nos processadores preferenciais. Defina Afinidade 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 .
ppNdkCq
Um ponteiro para um objeto CQ (fila de conclusão) (NDK_CQ) será retornado nesse local se a solicitação for bem-sucedida sem retornar STATUS_PENDING. Se NdkCreateCq retornar STATUS_PENDING esse parâmetro for ignorado e o objeto criado for retornado com o retorno de chamada especificado no parâmetro CreateCompletion .
Retornar valor
A função NDK_FN_CREATE_CQ retorna um dos seguintes códigos NTSTATUS.
Código de retorno | Descrição |
---|---|
|
O objeto CQ foi criado com êxito e retornado com o parâmetro *ppNdkCq . |
|
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 valor CqDepth solicitado é maior que o valor MaxCqDepth especificado 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 status.
|
|
Ocorreu um erro. |
Comentários
A função NdkCreateCq cria um objeto CQ (fila de conclusão do NDK). Se a função retornar STATUS_SUCCESS, o objeto criado será retornado no parâmetro ppNdkCq . Se NdkCreateCq retornar STATUS_PENDING, o objeto criado será retornado pela função NdkCreateCompletion (NDK_FN_CREATE_COMPLETION) especificada no parâmetro CreateCompletion .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Nenhum com suporte, com suporte no NDIS 6.30 e posterior. |
Servidor mínimo com suporte | Windows Server 2012 |
Plataforma de Destino | Windows |
Cabeçalho | ndkpi.h (inclua Ndkpi.h) |
IRQL | <=DISPATCH_LEVEL |
Confira também
Requisitos de tempo de vida do objeto NDKPI