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