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

[Advertencia: UMDF 2 es la versión más reciente de UMDF y sustituye a UMDF 1. Todos los controladores UMDF nuevos deben escribirse con UMDF 2. No se agregan nuevas características a UMDF 1 y hay compatibilidad limitada con UMDF 1 en versiones más recientes de Windows 10. Los controladores universales de Windows deben usar UMDF 2. Para obtener más información, consulta Introducción con UMDF.

El método OpenFileByName abre un destino de E/S remoto que es un archivo.

Sintaxis

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

Parámetros

[in] pszFileName

Puntero a una cadena terminada en null proporcionada por el autor de la llamada que representa el nombre del archivo que se va a abrir. Para obtener más información sobre este miembro, vea el parámetro FileName de CreateFile en el Windows SDK.

[in] DesiredAccess

Máscara de bits que especifica el acceso deseado del llamador al archivo. Para obtener más información sobre este miembro, vea el parámetro dwDesiredAccess de CreateFile en el Windows SDK.

[in, optional] pOpenParams

Puntero a una estructura de UMDF_IO_TARGET_OPEN_PARAMS asignada por el autor de la llamada que contiene parámetros adicionales. Este parámetro es opcional y puede ser NULL.

Valor devuelto

OpenFileByName devuelve S_OK si la operación se realiza correctamente. De lo contrario, el método podría devolver el siguiente valor:

Código devuelto Descripción
E_OUTOFMEMORY
Error en el intento del marco de trabajo de asignar memoria.
 

Este método podría devolver uno de los otros valores que contiene Winerror.h.

El comprobador del marco notifica un error si el marco no puede abrir el archivo.

Comentarios

El controlador puede usar OpenFileByName para abrir un archivo, si la pila de controladores a la que pertenece el controlador no admite el dispositivo del archivo. Use IWDFFileHandleTargetFactory::CreateFileHandleTarget para abrir un archivo, si la pila de controladores a la que pertenece el controlador admite el dispositivo del archivo.

La cuenta que cargó el controlador basado en UMDF debe ser accesible para el archivo especificado, que suele ser la cuenta de servicio local. Sin embargo, si el controlador usa suplantación cuando llama a OpenFileByName, el archivo debe ser accesible para la cuenta suplantada.

No llame a OpenFileByName para abrir un destino remoto en un objeto de dispositivo de control. En su lugar, abra el dispositivo de control directamente llamando a CreateFile.

Para obtener más información sobre el método OpenFileByName y los destinos de E/S remotos, vea Destinos de E/S generales en UMDF.

Ejemplos

En el ejemplo de código siguiente se crea un objeto de destino remoto y se abre un archivo existente con acceso de solo lectura.

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 Value
Finalización del soporte técnico No disponible en UMDF 2.0 y versiones posteriores.
Plataforma de destino Escritorio
Versión mínima de UMDF 1,9
Encabezado wudfddi.h (incluya Wudfddi.h)
Archivo DLL WUDFx.dll

Consulte también

IWDFDevice2::CreateRemoteTarget

IWDFRemoteTarget

IWDFRemoteTarget::OpenRemoteInterface