IWDFRemoteTarget::OpenFileByName-Methode (wudfddi.h)
[Warnung: UMDF 2 ist die neueste Version von UMDF und ersetzt UMDF 1. Alle neuen UMDF-Treiber sollten mit UMDF 2 geschrieben werden. UMDF 1 werden keine neuen Features hinzugefügt, und die Unterstützung für UMDF 1 in neueren Versionen von Windows 10 ist eingeschränkt. Universelle Windows-Treiber müssen UMDF 2 verwenden. Weitere Informationen finden Sie unter Erste Schritte mit UMDF.]
Die OpenFileByName-Methode öffnet ein Remote-E/A-Ziel , bei dem es sich um eine Datei handelt.
Syntax
HRESULT OpenFileByName(
[in] PCWSTR pszFileName,
[in] DWORD DesiredAccess,
[in, optional] PUMDF_IO_TARGET_OPEN_PARAMS pOpenParams
);
Parameter
[in] pszFileName
Ein Zeiger auf eine vom Aufrufer bereitgestellte, mit NULL endende Zeichenfolge, die den Namen der zu öffnenden Datei darstellt. Weitere Informationen zu diesem Member finden Sie im FileName-Parameter von CreateFile im Windows SDK.
[in] DesiredAccess
Eine Bitmaske, die den gewünschten Zugriff des Aufrufers auf die Datei angibt. Weitere Informationen zu diesem Member finden Sie im dwDesiredAccess-Parameter von CreateFile im Windows SDK.
[in, optional] pOpenParams
Ein Zeiger auf eine vom Aufrufer zugewiesene UMDF_IO_TARGET_OPEN_PARAMS Struktur, die zusätzliche Parameter enthält. Dieser Parameter ist optional und kann NULL sein.
Rückgabewert
OpenFileByName gibt S_OK zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die -Methode möglicherweise den folgenden Wert zurück:
Rückgabecode | Beschreibung |
---|---|
|
Fehler beim Versuch des Frameworks, Arbeitsspeicher zuzuweisen. |
Diese Methode gibt möglicherweise einen der anderen Werte zurück, die Winerror.h enthält.
Die Überprüfung des Frameworks meldet einen Fehler, wenn das Framework die Datei nicht öffnen kann.
Hinweise
Ihr Treiber kann OpenFileByName verwenden, um eine Datei zu öffnen, wenn der Treiberstapel, zu dem Ihr Treiber gehört, das Gerät der Datei nicht unterstützt. Verwenden Sie IWDFFileHandleTargetFactory::CreateFileHandleTarget , um eine Datei zu öffnen, wenn der Treiberstapel, zu dem Ihr Treiber gehört, das Gerät der Datei unterstützt.
Auf die angegebene Datei muss das Konto zugreifen können, das den UMDF-basierten Treiber geladen hat, wobei es sich in der Regel um das lokale Dienstkonto handelt. Wenn der Treiber beim Aufrufen von OpenFileByName jedoch einen Identitätswechsel verwendet, muss das identitätswechselte Konto auf die Datei zugreifen können.
Rufen Sie OpenFileByName nicht auf, um ein Remoteziel für ein Steuerelementgeräteobjekt zu öffnen. Öffnen Sie stattdessen das Steuerelementgerät direkt, indem Sie CreateFile aufrufen.
Weitere Informationen zur OpenFileByName-Methode und Remote-E/A-Zielen finden Sie unter Allgemeine E/A-Ziele in UMDF.
Beispiele
Im folgenden Codebeispiel wird ein Remotezielobjekt erstellt und eine vorhandene Datei mit schreibgeschütztem Zugriff geöffnet.
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);
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.9 |
Kopfzeile | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |