WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME函式 (wdfiotarget.h)
[適用於 KMDF 和 UMDF]
WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME函式會初始化驅動程式的WDF_IO_TARGET_OPEN_PARAMS結構,讓驅動程式可以藉由指定裝置、檔案或裝置介面的名稱來開啟 I/O 目標。 如果提供的名稱不存在,操作系統會嘗試建立它。
語法
void WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
[out] PWDF_IO_TARGET_OPEN_PARAMS Params,
[in] PCUNICODE_STRING TargetDeviceName,
[in] ACCESS_MASK DesiredAccess
);
參數
[out] Params
函式初始化的驅動程式配置 WDF_IO_TARGET_OPEN_PARAMS 結構的指標。
[in] TargetDeviceName
WDF_IO_TARGET_OPEN_PARAMS 結構的 TargetDeviceName 成員值。
[in] DesiredAccess
WDF_IO_TARGET_OPEN_PARAMS 結構的 DesiredAccess 成員值。
傳回值
無
備註
如果 TargetDeviceName 指定已經存在的檔名,則系統會取代現有的檔案。 如果檔案不存在,系統會建立它。
WDF_IO_TARGET_OPEN_PARAMS 結構會做為 WdfIoTargetOpen 方法的輸入。
KMDF WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME函式會初始化指定之WDF_IO_TARGET_OPEN_PARAMS結構的 Size、Type、TargetDeviceName、DesiredAccess 和 CreateOptions 成員。
UMDF WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME函式會初始化指定之WDF_IO_TARGET_OPEN_PARAMS結構的 Size、Type、DesiredAccess 和 TargetDeviceName 成員。 它會將 ShareAccess 成員設定為零。 它也會將 FileAttributes 成員設定為 FILE_ATTRIBUTE_NORMAL。
如需 I/O 目標的詳細資訊,請參閱 使用 I/O 目標。
範例
下列程式代碼範例會建立 I/O 目標物件,並藉由指定檔名來開啟目標。
UNICODE_STRING fileName;
RtlInitUnicodeString(
&fileName,
(PCWSTR)PROTOCOL_INTERFACE_NAME
);
status = WdfIoTargetCreate(
Adapter->WdfDevice,
WDF_NO_OBJECT_ATTRIBUTES,
&Adapter->IoTarget
);
if (!NT_SUCCESS(status)) {
DEBUGP(MP_ERROR, ("WdfIoTargetCreate failed 0x%x\n", status));
return status;
}
WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME(
&openParams,
&fileName,
STANDARD_RIGHTS_ALL
);
status = WdfIoTargetOpen(
Adapter->IoTarget,
&openParams
);
if (!NT_SUCCESS(status)) {
DEBUGP(MP_ERROR, ("WdfIoTargetOpen failed 0x%x\n", status));
return status;
}
規格需求
需求 | 值 |
---|---|
目標平台 | Universal |
最小 KMDF 版本 | 1.0 |
最低UMDF版本 | 2.0 |
標頭 | wdfiotarget.h (包含 Wdf.h) |
IRQL | 任何層級 |
另請參閱
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE