IoAllocateController-Funktion (ntddk.h)
Die IoAllocateController Routine richtet den Aufruf einer vom Treiber bereitgestellten ControllerControl Routine ein, sobald der vom angegebenen Controllerobjekt dargestellte Gerätecontroller einen E/A-Vorgang für das Zielgerät ausführen kann, dargestellt durch das angegebene Geräteobjekt.
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 angeschlossenen Gerät zugewiesen 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 beim Aufruf an die ControllerControl-Routine des Treibers übergeben wird.
Rückgabewert
Nichts
Bemerkungen
Diese Routine reserviert exklusiven Zugriff auf den Hardwarecontroller für das angegebene Gerät.
Die ControllerControl Routine gibt einen Wert zurück, der angibt, ob der Controller dem Gerät zugeordnet bleibt, entweder DeallocateObject- oder KeepObject-. Wenn KeepObjectzurückgegeben wird, muss der Treiber anschließend IoFreeController- aufrufen, um das Controllerobjekt freizugeben.
Anforderungen
Anforderung | Wert |
---|---|
mindestens unterstützte Client- | Ab Windows 2000 verfügbar. |
Zielplattform- | Universal |
Header- | ntddk.h (include Ntddk.h) |
Library | NtosKrnl.lib |
DLL- | NtosKrnl.exe |
IRQL- | DISPATCH_LEVEL |
DDI-Complianceregeln | HwStorPortProhibitedDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorStartPortIo(storport) |