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
STATUS_SUCCESS
O objeto SRQ foi criado com êxito e retornado com o parâmetro *ppNdkSrq .
STATUS_PENDING
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.
STATUS_INVALID_PARAMETER
A solicitação falhou porque o SrqDepth ou MaxReceiveRequestSge solicitado não está dentro dos limites especificados na estrutura de NDK_ADAPTER_INFO .
STATUS_INSUFFICIENT_RESOURCES
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.
 
Outros códigos 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

GROUP_AFFINITY

Requisitos de tempo de vida do objeto NDKPI

NDK_ADAPTER_INFO

NDK_FN_CREATE_COMPLETION

NDK_FN_SRQ_NOTIFICATION_CALLBACK

NDK_PD

NDK_SRQ