Metodo IWDFRemoteTarget::OpenFileByName (wudfddi.h)

[Avviso: UMDF 2 è la versione più recente di UMDF e sostituisce UMDF 1. Tutti i nuovi driver UMDF devono essere scritti usando UMDF 2. Non vengono aggiunte nuove funzionalità a UMDF 1 ed è disponibile un supporto limitato per UMDF 1 nelle versioni più recenti di Windows 10. I driver di Windows universali devono usare UMDF 2. Per altre info, vedi Introduzione con UMDF.]

Il metodo OpenFileByName apre una destinazione di I/O remota che è un file.

Sintassi

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

Parametri

[in] pszFileName

Puntatore a una stringa con terminazione Null fornita dal chiamante che rappresenta il nome del file da aprire. Per altre informazioni su questo membro, vedere il parametro FileName di CreateFile nel Windows SDK.

[in] DesiredAccess

Maschera di bit che specifica l'accesso desiderato del chiamante al file. Per altre informazioni su questo membro, vedere il parametro dwDesiredAccess di CreateFile nel Windows SDK.

[in, optional] pOpenParams

Puntatore a una struttura UMDF_IO_TARGET_OPEN_PARAMS allocata dal chiamante che contiene parametri aggiuntivi. Questo parametro è facoltativo e può essere NULL.

Valore restituito

OpenFileByName restituisce S_OK se l'operazione ha esito positivo. In caso contrario, il metodo potrebbe restituire il valore seguente:

Codice restituito Descrizione
E_OUTOFMEMORY
Il tentativo del framework di allocare memoria non è riuscito.
 

Questo metodo potrebbe restituire uno degli altri valori contenuti da Winerror.h.

Il verificatore del framework segnala un errore se il framework non è in grado di aprire il file.

Commenti

Il driver può usare OpenFileByName per aprire un file, se lo stack di driver a cui appartiene il driver non supporta il dispositivo del file. Usare IWDFFileHandleTargetFactory::CreateFileHandleTarget per aprire un file, se lo stack di driver a cui appartiene il driver supporta il dispositivo del file.

Il file specificato deve essere accessibile dall'account che ha caricato il driver basato su UMDF, che in genere è l'account del servizio locale. Tuttavia, se il driver usa la rappresentazione quando chiama OpenFileByName, il file deve essere accessibile dall'account rappresentato.

Non chiamare OpenFileByName per aprire una destinazione remota a un oggetto dispositivo di controllo. Aprire invece il dispositivo di controllo direttamente chiamando CreateFile.

Per altre informazioni sul metodo OpenFileByName e sulle destinazioni di I/O remote, vedere Destinazioni di I/O generali in UMDF.

Esempio

Nell'esempio di codice seguente viene creato un oggetto di destinazione remoto e viene aperto un file esistente con accesso di sola lettura.

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

Requisiti

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
Piattaforma di destinazione Desktop
Versione UMDF minima 1,9
Intestazione wudfddi.h (include Wudfddi.h)
DLL WUDFx.dll

Vedi anche

IWDFDevice2::CreateRemoteTarget

IWDFRemoteTarget

IWDFRemoteTarget::OpenRemoteInterface