EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES función de devolución de llamada (wdfio.h)

[Solo se aplica a KMDF]

La función de devolución de llamada EvtIoAllocateRequestResources de un controlador asigna recursos específicos de la solicitud que el controlador requiere para procesar la solicitud especificada.

Sintaxis

EVT_WDF_IO_ALLOCATE_REQUEST_RESOURCES EvtWdfIoAllocateRequestResources;

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

Parámetros

[in] Queue

Identificador de un objeto de cola de E/S.

[in] Request

Identificador de un objeto de solicitud que ha creado el marco de trabajo. El marco de trabajo aún no ha agregado el objeto de solicitud a la cola de E/S que especifica el identificador del parámetro Queue .

Valor devuelto

La función de devolución de llamada EvtIoAllocateRequestResources debe devolver STATUS_SUCCESS u otro valor de estado para el que NT_SUCCESS(status) es igual a TRUE si la función no encuentra ningún error. De lo contrario, esta función debe devolver un valor de estado para el que NT_SUCCESS(status) es igual a FALSE.

Comentarios

Un controlador puede registrar una función de devolución de llamada EvtIoAllocateRequestResources cuando llama a WdfIoQueueAssignForwardProgressPolicy.

Si el controlador registra una función de devolución de llamada EvtIoAllocateRequestResources , el marco llama a la función inmediatamente después de crear un objeto de solicitud para un paquete de solicitud de E/S (IRP) que el administrador de E/S ha enviado al controlador.

La función de devolución de llamada puede asignar recursos que el controlador necesitará para procesar la solicitud más adelante, después de que el controlador haya obtenido el objeto de solicitud de la cola de E/S que especifique el identificador del parámetro Queue .

Si la función de devolución de llamada asigna correctamente los recursos y devuelve STATUS_SUCCESS, el marco finalmente entregará el objeto de solicitud al controlador.

Si se produce un error de asignación de recursos, como una situación de memoria baja, la función de devolución de llamada debe devolver un valor de estado de error. En este caso, el marco sigue la directiva de progreso hacia delante del controlador, que el controlador especificó previamente con un valor de WDF_IO_FORWARD_PROGRESS_RESERVED_POLICY cuando llamó a WdfIoQueueAssignForwardProgressPolicy.

Para obtener más información sobre la función de devolución de llamada EvtIoAllocateRequestResources , vea Garantizar el progreso hacia delante de las operaciones de E/S.

Se puede llamar a esta función de devolución de llamada en IRQL <= DISPATCH_LEVEL. Si irQL está PASSIVE_LEVEL, el marco llama a la función de devolución de llamada dentro de una región crítica.

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1,9
Encabezado wdfio.h (incluya Wdf.h)
IRQL <=DISPATCH_LEVEL (consulte la sección Comentarios)

Consulte también

EvtIoAllocateResourcesForReservedRequest

WdfIoQueueAssignForwardProgressPolicy