Partilhar via


EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES função de retorno de chamada (wdfio.h)

[Aplica-se somente ao KMDF]

O de um driver EvtIoAllocateRequestResources função de retorno de chamada aloca recursos específicos à solicitação que o driver requer para processar a solicitação especificada.

Sintaxe

EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;

NTSTATUS EvtWdfIoAllocateRequestResources(
  [in] WDFQUEUE Queue,
  [in] WDFREQUEST Request
)
{...}

Parâmetros

[in] Queue

Um identificador para um objeto de fila de E/S.

[in] Request

Um identificador para um objeto de solicitação que a estrutura criou. A estrutura ainda não adicionou o objeto de solicitação à fila de E/S especificada pelo identificador do parâmetro fila do.

Valor de retorno

A função de retorno de chamada EvtIoAllocateRequestResources deve retornar STATUS_SUCCESS ou outro valor de status para o qual NT_SUCCESS(status) é igual verdadeiro se a função não encontrar erros. Caso contrário, essa função deve retornar um valor de status para o qual NT_SUCCESS(status) é igual false.

Observações

Um driver pode registrar uma função de retorno de chamada EvtIoAllocateRequestResources quando chama WdfIoQueueAssignForwardProgressPolicy.

Se o driver registrar uma função de retorno de chamada EvtIoAllocateRequestResources, a estrutura chamará a função imediatamente após criar um objeto de solicitação para um IRP (pacote de solicitação de E/S) que o gerente de E/S enviou ao driver.

A função de retorno de chamada pode alocar recursos que o driver precisará para processar a solicitação posteriormente, depois que o driver tiver obtido o objeto de solicitação da fila de E/S que o identificador do parâmetro Queue especifica.

Se a função de retorno de chamada alocar recursos com êxito e retornar STATUS_SUCCESS, a estrutura eventualmente entregará o objeto de solicitação ao driver.

Se ocorrer um erro de alocação de recurso, como uma situação de memória baixa, a função de retorno de chamada deverá retornar um valor de status de erro. Nesse caso, a estrutura segue a política de progresso do driver, que o driver especificou anteriormente com um valor WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY quando chamou WdfIoQueueAssignForwardProgressPolicy.

Para obter mais informações sobre a função de retorno de chamada EvtIoAllocateRequestResources, consulte Garantindo o progresso das operações de E/S.

Essa função de retorno de chamada pode ser chamada em IRQL <= DISPATCH_LEVEL. Se o IRQL for PASSIVE_LEVEL, a estrutura chamará a função de retorno de chamada em uma região crítica .

Requisitos

Requisito Valor
da Plataforma de Destino Universal
versão mínima do KMDF 1.9
cabeçalho wdfio.h (inclua Wdf.h)
IRQL <=DISPATCH_LEVEL (consulte a seção Comentários)

Consulte também

EvtIoAllocateResourcesForReservedRequest

WdfIoQueueAssignForwardProgressPolicy