Condividi tramite


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 informazioni, vedi Introduzione a UMDF.]

Il metodo OpenFileByName apre un di destinazione di I/O remoto file.

Sintassi

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

Parametri

[in] pszFileName

Puntatore a un chiamante fornito, nullstringa con terminazione che rappresenta il nome del file da aprire. Per altre informazioni su questo membro, vedere il parametro FileName di CreateFile in 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 in Windows SDK.

[in, optional] pOpenParams

Puntatore a una struttura di 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 in Winerror.h.

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

Osservazioni

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 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.

Esempi

Nell'esempio di codice seguente viene creato un oggetto di destinazione remoto e viene aperto un file esistente con accesso in 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);
 

Fabbisogno

Requisito Valore
Fine del supporto Non disponibile in UMDF 2.0 e versioni successive.
piattaforma di destinazione Desktop
versione minima di UMDF 1.9
intestazione wudfddi.h (include Wudfddi.h)
dll WUDFx.dll

Vedere anche

IWDFDevice2::CreateRemoteTarget

IWDFRemoteTarget

IWDFRemoteTarget::OpenRemoteInterface