función WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME (wdfiotarget.h)

[Se aplica a KMDF y UMDF]

La función WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inicializa la estructura WDF_IO_TARGET_OPEN_PARAMS de un controlador para que el controlador pueda abrir un destino de E/S especificando el nombre del dispositivo, el archivo o la interfaz del dispositivo. Si el nombre proporcionado no existe, el sistema operativo intentará crearlo.

Sintaxis

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
);

Parámetros

[out] Params

Puntero a una estructura de WDF_IO_TARGET_OPEN_PARAMS asignada por el controlador, que inicializa la función.

[in] TargetDeviceName

Valor del miembro TargetDeviceName de la estructura WDF_IO_TARGET_OPEN_PARAMS .

[in] DesiredAccess

Valor del miembro DesiredAccess de la estructura WDF_IO_TARGET_OPEN_PARAMS .

Valor devuelto

None

Observaciones

Si TargetDeviceName especifica el nombre de un archivo que ya existe, el sistema reemplaza el archivo existente. Si el archivo no existe, el sistema lo crea.

La estructura WDF_IO_TARGET_OPEN_PARAMS se usa como entrada para el método WdfIoTargetOpen .

KMDF La función WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inicializa los miembros Size, Type, TargetDeviceName, DesiredAccess y CreateOptions de la estructura de WDF_IO_TARGET_OPEN_PARAMS especificada.

UMDF La función WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inicializa los miembros Size, Type, DesiredAccess y TargetDeviceName de la estructura de WDF_IO_TARGET_OPEN_PARAMS especificada. Establece el miembro de ShareAccess en cero. También establece el miembro FileAttributesen FILE_ATTRIBUTE_NORMAL.

Para obtener más información sobre los destinos de E/S, consulte Uso de destinos de E/S.

Ejemplos

En el ejemplo de código siguiente se crea un objeto de destino de E/S y se abre un destino especificando un nombre de archivo.

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;
}

Requisitos

Requisito Value
Plataforma de destino Universal
Versión mínima de KMDF 1.0
Versión mínima de UMDF 2.0
Encabezado wdfiotarget.h (incluya Wdf.h)
IRQL Cualquier nivel

Consulte también

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen