[僅適用於 UMDF]
WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE 函式會初始化驅動程式的 WDF_IO_TARGET_OPEN_PARAMS 結構,讓驅動程式可以指定檔名來開啟 I/O 目標。
語法
void WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE(
[out] PWDF_IO_TARGET_OPEN_PARAMS Params,
[in, optional] PCUNICODE_STRING FileName
);
參數
[out] Params
驅動程式配置的 WDF_IO_TARGET_OPEN_PARAMS 結構的指標,函式會初始化此結構。
[in, optional] FileName
FileNameWDF_IO_TARGET_OPEN_PARAMS 結構成員的值。 除非較低的目標支援 裝置命名空間存取,否則大部分驅動程式會在這裡指定 NULL。
返回值
沒有
備註
WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE 函式會零指定的 WDF_IO_TARGET_OPEN_PARAMS 結構,並設定其 Size 成員。 它也會將 結構的 Type 成員設定為 WdfIoTargetOpenLocalTargetByFile,並在驅動程式提供檔名時設定 FileName 成員。
驅動程式可以呼叫 WdfIoTargetClose來明確關閉 I/O 目標。 如果驅動程式未明確關閉目標,架構會在移除裝置時自動關閉目標(預設為裝置上層的 I/O 目標)。
範例
下列程式代碼範例示範 UMDF 驅動程式如何使用檔案對象開啟本機目標,如 WDF_IO_TARGET_OPEN_TYPE中所述:
WDF_OBJECT_ATTRIBUTES ioTargetAttrib;
WDFIOTARGET ioTarget;
WDF_IO_TARGET_OPEN_PARAMS openParams;
//
// Create target
//
WDF_OBJECT_ATTRIBUTES_INIT_CONTEXT_TYPE(&ioTargetAttrib, TARGET_DEVICE_INFO);
status = WdfIoTargetCreate(device, &ioTargetAttrib, &ioTarget);
if (!NT_SUCCESS(status)) {
return status;
}
//
// Open target
//
WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE(&openParams, NULL);
status = WdfIoTargetOpen(ioTarget, &openParams);
if (!NT_SUCCESS(status)) {
WdfObjectDelete(ioTarget);
return status;
}
//
// create a request
//
//
// Format the request for the above target
//
//
// Send request to above target
//
需求
要求 | 價值 |
---|---|
最低支援的用戶端 | Windows 8.1 |
目標平臺 | 普遍 |
最低 UMDF 版本 | 2.0 |
標題 | wdfiotarget.h (包括 Wdf.h) |
IRQL | 任何層級 |