função de retorno de chamada NDK_FN_CREATE_SRQ (ndkpi.h)
A função NdkCreateSrq (NDK_FN_CREATE_SRQ) cria um objeto SRQ (fila de recebimento compartilhado) 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 no 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 enfileiradas para disparar retornos de chamada de notificação SRQ.
[in, optional] SrqNotification
Uma função opcional NdkSrqNotificationCallback (NDK_FN_SRQ_NOTIFICATION_CALLBACK) que o provedor chama se a contagem de solicitações de recebimento enfileirada 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 processadores preferenciais que o consumidor escolheria para executar os retornos de chamada NdkSrqNotificationCallback . 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 NdkSrqNotificationCallback 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 .
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 .
Retornar valor
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 *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 ou MaxReceiveRequestSge solicitado não está dentro dos limites especificados na estrutura de NDK_ADAPTER_INFO . |
|
Falha na solicitação 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 NdkCreateSrq cria um objeto SRQ (fila de recebimento compartilhado) 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 |
---|---|
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