функция 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 драйвера, чтобы драйвер смог открыть целевой объект ввода-вывода, указав имя устройства, файл или интерфейс устройства. Если указанное имя не существует, операционная система попытается создать его.
Синтаксис
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
Значение элемента TargetDeviceName структуры WDF_IO_TARGET_OPEN_PARAMS .
[in] DesiredAccess
Значение элемента DesiredAccess структуры WDF_IO_TARGET_OPEN_PARAMS .
Возвращаемое значение
None
Remarks
Если TargetDeviceName указывает имя уже существующего файла, система заменяет существующий файл. Если файл не существует, система создает его.
Структура WDF_IO_TARGET_OPEN_PARAMS используется в качестве входных данных для метода WdfIoTargetOpen .
KMDF Функция WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME инициализирует элементы Size, Type, TargetDeviceName, DesiredAccess и CreateOptions указанной структуры WDF_IO_TARGET_OPEN_PARAMS .
UMDF Функция WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME инициализирует элементы Size, Type, DesiredAccess и TargetDeviceName указанной структуры WDF_IO_TARGET_OPEN_PARAMS . Он задает для элемента ShareAccess нулевое значение. Он также задает для элемента FileAttributesзначение FILE_ATTRIBUTE_NORMAL.
Дополнительные сведения о целевых объектах ввода-вывода см. в разделе Использование целевых объектов ввода-вывода.
Примеры
В следующем примере кода создается целевой объект ввода-вывода и открывается целевой объект, указав имя файла.
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;
}
Требования
Требование | Значение |
---|---|
Целевая платформа | Универсальное |
Минимальная версия KMDF | 1,0 |
Минимальная версия UMDF | 2,0 |
Верхняя часть | wdfiotarget.h (включая Wdf.h) |
IRQL | Любой уровень |
См. также раздел
WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE