共用方式為


WdfRequestSetInformation 函式 (wdfrequest.h)

[適用於 KMDF 和 UMDF]

WdfRequestSetInformation 方法會設定指定 I/O 要求的完成狀態資訊。

語法

void WdfRequestSetInformation(
  [in] WDFREQUEST Request,
  [in] ULONG_PTR  Information
);

參數

[in] Request

架構要求物件的句柄。

[in] Information

要求的驅動程式定義完成狀態資訊。

傳回值

備註

如果驅動程式提供無效的物件句柄,就會發生錯誤檢查。

架構型驅動程式會使用 WdfRequestSetInformation 方法來提供與 I/O 要求完成相關聯的驅動程式特定資訊,例如傳輸的位元元數目。 其他驅動程式可以藉由呼叫 WdfRequestGetInformation 來取得這項資訊。

驅動程式也可以藉由呼叫 WdfRequestCompleteWithInformation 來指定完成狀態資訊。

如需 WdfRequestSetInformation 的詳細資訊,請參閱 完成 I/O 要求

範例

下列程式代碼範例會根據 EvtIoDeviceControl 回呼函式收到的 I/O 控件程式代碼值來設定要求完成資訊。

VOID
MyEvtIoDeviceControl(
    IN WDFQUEUE  Queue,
    IN WDFREQUEST  Request,
    IN size_t  OutputBufferLength,
    IN size_t  InputBufferLength,
    IN ULONG  IoControlCode
    )
{
    switch (IoControlCode) {
      case MY_IOCTL_CODE_1:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_1
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_2:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_2
                                     );
            status = STATUS_SUCCESS;                                     
            break;

      case MY_IOCTL_CODE_3:
            WdfRequestSetInformation(
                                     Request,
                                     VALUE_3
                                     );
            status = STATUS_SUCCESS;
            break;

      default:
            status = STATUS_INVALID_DEVICE_REQUEST;
            break;
    }

    WdfRequestComplete(
                       Request,
                       status
                       );
}

規格需求

需求
目標平台 Universal
最低 KMDF 版本 1.0
最低UMDF版本 2.0
標頭 wdfrequest.h (包含 Wdf.h)
程式庫 Wdf01000.sys (KMDF) ;WUDFx02000.dll (UMDF)
IRQL <=DISPATCH_LEVEL
DDI 合規性規則 DriverCreate (kmdf) InvalidReqAccess (kmdf) InvalidReqAccessLocal (kmdf) KmdfIrql (kmdf ) 、 KmdfIrql2 (kmdf) 、 KmdfIrqlExplicit (kmdf)

另請參閱

WdfRequestCompleteWithInformation

WdfRequestGetInformation