Funzione IoAllocateController (ntddk.h)

La routine IoAllocateController configura la chiamata a una routine ControllerControl fornita dal driver non appena il controller del dispositivo, rappresentato dall'oggetto controller specificato, è disponibile per eseguire un'operazione di I/O per il dispositivo di destinazione, rappresentata dall'oggetto dispositivo specificato.

Sintassi

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

Parametri

[in] ControllerObject

Puntatore a un oggetto controller creato dal driver, in genere che rappresenta un controller fisico da allocare per un'operazione di I/O in un dispositivo collegato.

[in] DeviceObject

Puntatore all'oggetto dispositivo che rappresenta il dispositivo di destinazione dell'IRP corrente.

[in] ExecutionRoutine

Puntatore alla routine ControllerControl fornita dal driver.

[in, optional] Context

Puntatore a un contesto determinato dal driver, passato alla routine ControllerControl del driver quando viene chiamato.

Valore restituito

nessuno

Osservazioni

Questa routine riserva l'accesso esclusivo al controller hardware per il dispositivo specificato.

La routine ControllerControl restituisce un valore che indica se il controller rimane allocato al dispositivo, DeallocateObject o KeepObject. Se restituisce KeepObject, il driver deve successivamente chiamare IoFreeController per rilasciare l'oggetto controller.

Requisiti

Requisito Valore
Client minimo supportato Disponibile a partire da Windows 2000.
Piattaforma di destinazione Universale
Intestazione ntddk.h (include Ntddk.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport)

Vedi anche

ControllerControl

IoCreateController

IoDeleteController

IoFreeController