共用方式為


IQueueCallbackDeviceIoControl::OnDeviceIoControl 方法 (wudfddi.h)

警告

UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的UMDF驅動程式都應該使用UMDF 2撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 Windows 10 上對 UMDF 1 的支援有限。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱 開始使用 UMDF

當應用程式透過 Microsoft Win32 OnDeviceIoControl 函式在裝置上執行特定作業時,會呼叫 OnDeviceIoControl 方法來處理裝置 I/O 控制要求。

語法

void OnDeviceIoControl(
  [in] IWDFIoQueue   *pWdfQueue,
  [in] IWDFIoRequest *pWdfRequest,
  [in] ULONG         ControlCode,
       SIZE_T        InputBufferSizeInBytes,
       SIZE_T        OutputBufferSizeInBytes
);

參數

[in] pWdfQueue

要求從中抵達之 I/O 佇列物件的 IWDFIoQueue 介面指標。

[in] pWdfRequest

代表架構要求物件的 IWDFIoRequest 介面指標。

[in] ControlCode

驅動程式定義的或系統定義的 I/O 控制項程式代碼 (IOCTL), 可識別要執行的特定作業,以及與要求相關聯。

InputBufferSizeInBytes

要求輸入緩衝區的大小,以位元組為單位。

OutputBufferSizeInBytes

要求的輸出緩衝區大小,以位元組為單位。

傳回值

沒有

言論

當驅動程式呼叫 IWDFDevice::CreateIoQueue 方法來建立 I/O 佇列或設定預設 I/O 佇列時,驅動程式會註冊 IQueueCallbackDeviceIoControl 介面。

驅動程式可以為每個 I/O 佇列實作單一 OnDeviceIoControl 方法,或針對每個 I/O 佇列個別 OnDeviceIoControl 方法。

OnDeviceIoControl 方法會從佇列接收每個裝置 I/O 控制要求類型。 (要求類型是由要求 WDF_REQUEST_TYPE 列舉類型的 WdfRequestDeviceIoControl 值來識別。

如需與佇列和架構呼叫相關聯之驅動程式方法的詳細資訊,請參閱 I/O 佇列事件回呼函式OnDeviceIoControl 方法必須處理每個收到的裝置 I/O 控制要求。 如需 UMDF 驅動程式如何處理 I/O 要求的詳細資訊,請參閱 處理 I/O 要求

驅動程式可以呼叫 IWDFIoRequest::GetDeviceIoControlParametersIWDFIoRequest::GetInputMemory,以及 IWDFIoRequest::GetOutputMemory 方法來擷取要求和輸入和輸出緩衝區的相關信息。

要求

要求 價值
目標平臺 窗戶
標頭 wudfddi.h (包括 Wudfddi.h)

另請參閱