共用方式為


IoAllocateController 函式 (ntddk.h)

IoAllocateController 例程會設定呼叫驅動程式提供的 ControllerControl 例程,只要由指定的控制器物件代表的裝置控制器,即可執行目標裝置的 I/O 作業,由指定的裝置物件表示。

語法

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

參數

[in] ControllerObject

驅動程式建立控制器物件的指標,通常代表要配置給連結裝置上 I/O 作業的實體控制器。

[in] DeviceObject

裝置物件的指標,代表目前 IRP 的目標裝置。

[in] ExecutionRoutine

驅動程式提供的指標 ControllerControl 例程。

[in, optional] Context

驅動程式決定內容的指標,在呼叫驅動程式時傳遞至驅動程式的 ControllerControl 例程。

傳回值

沒有

言論

此例程會保留指定裝置之硬體控制器的獨佔存取權。

ControllerControl 例程會傳回值,指出控制器是否仍配置給裝置、DeallocateObjectKeepObject。 如果它傳回 KeepObject,驅動程式必須接著呼叫 ioFreeController ,才能釋放控制器物件。

要求

要求 價值
最低支援的用戶端 從 Windows 2000 開始提供。
目標平臺 普遍
標頭 ntddk.h (包括 Ntddk.h)
連結庫 NtosKrnl.lib
DLL NtosKrnl.exe
IRQL DISPATCH_LEVEL
DDI 合規性規則 HwStorPortProhibitedDIS(storport)IrqlDispatch(storport),IrqlDispatch(storport),IrqlDispatch(wdm)SpNoWait(storport)StorPortStartIo(storport)

另請參閱

ControllerControl

IoCreateController

IoDeleteController

IoFreeController