Compartir a través de


Función IoAllocateController (ntddk.h)

La rutina IoAllocateController configura la llamada a un controlador proporcionado ControllerControl rutina tan pronto como el controlador de dispositivo, representado por el objeto de controlador especificado, está disponible para llevar a cabo una operación de E/S para el dispositivo de destino, representada por el objeto de dispositivo especificado.

Sintaxis

void IoAllocateController(
  [in]           PCONTROLLER_OBJECT ControllerObject,
  [in]           PDEVICE_OBJECT     DeviceObject,
  [in]           PDRIVER_CONTROL    ExecutionRoutine,
  [in, optional] PVOID              Context
);

Parámetros

[in] ControllerObject

Puntero a un objeto de controlador creado por el controlador, que normalmente representa un controlador físico que se asignará para una operación de E/S en un dispositivo conectado.

[in] DeviceObject

Puntero al objeto de dispositivo, que representa el dispositivo de destino del IRP actual.

[in] ExecutionRoutine

Puntero a la rutina de ControllerControl proporcionada por el controlador.

[in, optional] Context

Puntero a un contexto determinado por el controlador, pasado al ControllerControl del controlador rutina cuando se llama a él.

Valor devuelto

Ninguno

Observaciones

Esta rutina reserva acceso exclusivo al controlador de hardware para el dispositivo especificado.

La rutina ControllerControl de devuelve un valor que indica si el controlador permanece asignado al dispositivo, ya sea DeallocateObject o KeepObject. Si devuelve KeepObject, el controlador debe llamar posteriormente a IoFreeController para liberar el objeto de controlador.

Requisitos

Requisito Valor
cliente mínimo admitido Disponible a partir de Windows 2000.
de la plataforma de destino de Universal
encabezado de ntddk.h (incluya Ntddk.h)
biblioteca de NtosKrnl.lib
DLL de NtosKrnl.exe
irQL DISPATCH_LEVEL
reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport)

Consulte también

ControllerControl de

IoCreateController

IoDeleteController

ioFreeController