Fungsi IoAllocateController (ntddk.h)

Rutinitas IoAllocateController menyiapkan panggilan ke rutinitas ControllerControl yang disediakan driver segera setelah pengontrol perangkat, yang diwakili oleh objek pengontrol yang diberikan, tersedia untuk melakukan operasi I/O untuk perangkat target, yang diwakili oleh objek perangkat yang diberikan.

Sintaks

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

Parameter

[in] ControllerObject

Penunjuk ke objek pengontrol yang dibuat driver, biasanya mewakili pengontrol fisik yang akan dialokasikan untuk operasi I/O pada perangkat yang terpasang.

[in] DeviceObject

Penunjuk ke objek perangkat, mewakili perangkat target dari IRP saat ini.

[in] ExecutionRoutine

Penunjuk ke rutinitas ControllerControl yang disediakan driver.

[in, optional] Context

Penunjuk ke konteks yang ditentukan driver, diteruskan ke rutinitas ControllerControl driver saat dipanggil.

Nilai kembali

Tidak ada

Keterangan

Rutinitas ini mencadangkan akses eksklusif ke pengontrol perangkat keras untuk perangkat yang ditentukan.

Rutinitas ControllerControl mengembalikan nilai yang menunjukkan apakah pengontrol tetap dialokasikan ke perangkat, baik DeallocateObject atau KeepObject. Jika mengembalikan KeepObject, driver kemudian harus memanggil IoFreeController untuk merilis objek pengontrol.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Tersedia dimulai dengan Windows 2000.
Target Platform Universal
Header ntddk.h (termasuk Ntddk.h)
Pustaka NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
Aturan kepatuhan DDI HwStorPortProhibitedDDIs(storport), IrqlDispatch(storport), IrqlDispatch(storport), IrqlDispatch(wdm), SpNoWait(storport), StorPortStartIo(storport)

Lihat juga

ControllerControl

IoCreateController

IoDeleteController

IoFreeController