Compartilhar via


função WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME (wdfiotarget.h)

[Aplica-se a KMDF e UMDF]

A função WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inicializa a estrutura de WDF_IO_TARGET_OPEN_PARAMS de um driver para que o driver possa abrir um destino de E/S especificando o nome do dispositivo, arquivo ou interface do dispositivo. Se o nome fornecido não existir, o sistema operacional tentará criá-lo.

Sintaxe

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

Um ponteiro para uma estrutura de WDF_IO_TARGET_OPEN_PARAMS alocada pelo driver, que a função inicializa.

[in] TargetDeviceName

Um valor para o membro TargetDeviceName da estrutura WDF_IO_TARGET_OPEN_PARAMS .

[in] DesiredAccess

Um valor para o membro DesiredAccess da estrutura WDF_IO_TARGET_OPEN_PARAMS .

Retornar valor

Nenhum

Comentários

Se TargetDeviceName especificar o nome de um arquivo que já existe, o sistema substituirá o arquivo existente. Se o arquivo não existir, o sistema o criará.

A estrutura WDF_IO_TARGET_OPEN_PARAMS é usada como entrada para o método WdfIoTargetOpen .

KMDF A função WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inicializa os membros Size, Type, TargetDeviceName, DesiredAccess e CreateOptions da estrutura de WDF_IO_TARGET_OPEN_PARAMS especificada.

UMDF A função WDF_IO_TARGET_OPEN_PARAMS_INIT_CREATE_BY_NAME inicializa os membros Size, Type, DesiredAccess e TargetDeviceName da estrutura de WDF_IO_TARGET_OPEN_PARAMS especificada. Ele define o membro do ShareAccess como zero. Ele também define o membro FileAttributes como FILE_ATTRIBUTE_NORMAL.

Para obter mais informações sobre destinos de E/S, consulte Usando destinos de E/S.

Exemplos

O exemplo de código a seguir cria um objeto de destino de E/S e abre um destino especificando um nome de arquivo.

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 Valor
Plataforma de Destino Universal
Versão mínima do KMDF 1.0
Versão mínima do UMDF 2,0
Cabeçalho wdfiotarget.h (inclua Wdf.h)
IRQL Qualquer nível

Confira também

WDF_IO_TARGET_OPEN_PARAMS

WDF_IO_TARGET_OPEN_PARAMS_INIT_EXISTING_DEVICE

WDF_IO_TARGET_OPEN_PARAMS_INIT_OPEN_BY_NAME

WdfIoTargetOpen