Método IWDFRemoteTarget::OpenFileByName (wudfddi.h)

[Aviso: UMDF 2 é a versão mais recente do UMDF e substitui UMDF 1. Todos os novos drivers UMDF devem ser gravados usando UMDF 2. Nenhum novo recurso está sendo adicionado ao UMDF 1 e há suporte limitado para UMDF 1 em versões mais recentes do Windows 10. Drivers universais do Windows devem usar UMDF 2. Para obter mais informações, consulte Introdução com UMDF.]

O método OpenFileByName abre um destino de E/S remoto que é um arquivo.

Sintaxe

HRESULT OpenFileByName(
  [in]           PCWSTR                      pszFileName,
  [in]           DWORD                       DesiredAccess,
  [in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);

Parâmetros

[in] pszFileName

Um ponteiro para uma cadeia de caracteres terminada em nulo fornecida pelo chamador que representa o nome do arquivo a ser aberto. Para obter mais informações sobre esse membro, consulte o parâmetro FileName de CreateFile no SDK do Windows.

[in] DesiredAccess

Uma máscara de bits que especifica o acesso desejado do chamador ao arquivo. Para obter mais informações sobre esse membro, consulte o parâmetro dwDesiredAccess de CreateFile no SDK do Windows.

[in, optional] pOpenParams

Um ponteiro para uma estrutura de UMDF_IO_TARGET_OPEN_PARAMS alocada pelo chamador que contém parâmetros adicionais. Esse parâmetro é opcional e pode ser NULL.

Retornar valor

OpenFileByName retornará S_OK se a operação for bem-sucedida. Caso contrário, o método poderá retornar o seguinte valor:

Código de retorno Descrição
E_OUTOFMEMORY
Falha na tentativa da estrutura de alocar memória.
 

Esse método pode retornar um dos outros valores que Winerror.h contém.

O verificador da estrutura relatará um erro se a estrutura não puder abrir o arquivo.

Comentários

Seu driver pode usar OpenFileByName para abrir um arquivo, se a pilha de driver à qual o driver pertence não oferecer suporte ao dispositivo do arquivo. Use IWDFFileHandleTargetFactory::CreateFileHandleTarget para abrir um arquivo, se a pilha de driver à qual o driver pertence oferecer suporte ao dispositivo do arquivo.

O arquivo especificado deve ser acessível pela conta que carregou o driver baseado em UMDF, que normalmente é a conta de Serviço Local. No entanto, se o driver usar representação quando chamar OpenFileByName, o arquivo deverá estar acessível pela conta representada.

Não chame OpenFileByName para abrir um destino remoto para um objeto de dispositivo de controle. Em vez disso, abra o dispositivo de controle diretamente chamando CreateFile.

Para obter mais informações sobre o método OpenFileByName e destinos de E/S remotos, consulte Destinos gerais de E/S no UMDF.

Exemplos

O exemplo de código a seguir cria um objeto de destino remoto e abre um arquivo existente com acesso somente leitura.

UMDF_IO_TARGET_OPEN_PARAMS openParams;
HRESULT hr;

//
// Create a new remote target object and provide a callback 
// object to handle remote target events.
//
CComPtr<IWDFRemoteTarget> fxTarget;
hr = FxDevice->CreateRemoteTarget(MyRemoteTargetIUnknown,
                                  fxRemoteInterface,
                                  &fxTarget);
if (FAILED(hr)) goto Error;

//
// Open existing file for read-only access.
//
openParams.dwShareMode = 0;
openParams.dwCreationDisposition = OPEN_EXISTING;
openParams.dwFlagsAndAttributes = FILE_ATTRIBUTE_READONLY;

hr = fxTarget->OpenFileByName(FILE_PATH,
                              GENERIC_READ,
                              &openParams);
 

Requisitos

Requisito Valor
Fim do suporte Indisponível no UMDF 2.0 e posterior.
Plataforma de Destino Área de Trabalho
Versão mínima do UMDF 1,9
Cabeçalho wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Confira também

IWDFDevice2::CreateRemoteTarget

IWDFRemoteTarget

IWDFRemoteTarget::OpenRemoteInterface