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


функция WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE (wdfiotarget.h)

[Относится только к UMDF]

Функция WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE инициализирует структуру WDF_IO_TARGET_OPEN_PARAMS драйвера, чтобы драйвер смог открыть целевой объект ввода-вывода, указав имя файла.

Синтаксис

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

Значение элемента FileName структуры WDF_IO_TARGET_OPEN_PARAMS . Большинство драйверов указывают здесь значение NULL , если нижний целевой объект не поддерживает доступ к пространству имен устройств.

Возвращаемое значение

None

Remarks

Функция WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_FILE обнуляет указанную структуру WDF_IO_TARGET_OPEN_PARAMS и задает ее член Size . Он также задает для элемента Type структуры значение WdfIoTargetOpenLocalTargetByFile и задает член FileName , если драйвер предоставляет имя файла.

Драйвер может явно закрыть целевой объект ввода-вывода, вызвав WdfIoTargetClose. Если драйвер не закрывает целевой объект явным образом, платформа автоматически закрывает целевой объект при удалении устройства (целевой объект ввода-вывода по умолчанию является родительским для устройства).

Примеры

В следующем примере кода показано, как драйвер 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 Любой уровень

См. также раздел

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_TYPE