IoAllocateController-Funktion (ntddk.h)
Die IoAllocateController-Routine richtet den Aufruf einer vom Treiber bereitgestellten ControllerControl-Routine ein, sobald der Gerätecontroller, der durch das angegebene Controllerobjekt dargestellt wird, verfügbar ist, um einen E/A-Vorgang für das Zielgerät auszuführen, der durch das angegebene Geräteobjekt dargestellt wird.
Syntax
void IoAllocateController(
[in] PCONTROLLER_OBJECT ControllerObject,
[in] PDEVICE_OBJECT DeviceObject,
[in] PDRIVER_CONTROL ExecutionRoutine,
[in, optional] PVOID Context
);
Parameter
[in] ControllerObject
Zeiger auf ein vom Treiber erstelltes Controllerobjekt, das in der Regel einen physischen Controller darstellt, der für einen E/A-Vorgang auf einem angefügten Gerät zugeordnet werden soll.
[in] DeviceObject
Zeiger auf das Geräteobjekt, das das Zielgerät des aktuellen IRP darstellt.
[in] ExecutionRoutine
Zeiger auf die vom Treiber bereitgestellte ControllerControl-Routine .
[in, optional] Context
Zeiger auf einen vom Treiber bestimmten Kontext, der an die ControllerControl-Routine des Treibers übergeben wird, wenn er aufgerufen wird.
Rückgabewert
Keine
Bemerkungen
Diese Routine behält sich den exklusiven Zugriff auf den Hardwarecontroller für das angegebene Gerät vor.
Die ControllerControl-Routine gibt einen Wert zurück, der angibt, ob der Controller dem Gerät zugeordnet bleibt, entweder DeallocateObject oder KeepObject. Wenn KeepObject zurückgegeben wird, muss der Treiber anschließend IoFreeController aufrufen, um das Controllerobjekt freizugeben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar ab Windows 2000. |
Zielplattform | Universell |
Header | ntddk.h (include Ntddk.h) |
Bibliothek | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | DISPATCH_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport) |