Поделиться через


функция 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

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen