Función IoAllocateController (ntddk.h)
La rutina IoAllocateController configura la llamada a una rutina ControllerControl proporcionada por el controlador en cuanto 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, normalmente que 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 ControllerControl proporcionada por el controlador.
[in, optional] Context
Puntero a un contexto determinado por el controlador, pasado a la rutina ControllerControl del controlador cuando se llama a él.
Valor devuelto
None
Observaciones
Esta rutina reserva acceso exclusivo al controlador de hardware para el dispositivo especificado.
La rutina ControllerControl 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 | Value |
---|---|
Cliente mínimo compatible | Disponible a partir de Windows 2000. |
Plataforma de destino | Universal |
Encabezado | ntddk.h (incluya Ntddk.h) |
Library | NtosKrnl.lib |
Archivo DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport) |