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) |