IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore-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 RetrieveUnifiedDevicePropertyStore-Methode ruft eine einheitliche Eigenschaftenspeicherschnittstelle ab.
Syntax
HRESULT RetrieveUnifiedDevicePropertyStore(
[in] PWDF_PROPERTY_STORE_ROOT RootSpecifier,
[out] IWDFUnifiedPropertyStore **PropertyStore
);
Parameter
[in] RootSpecifier
Die Adresse einer vom Treiber zugewiesenen WDF_PROPERTY_STORE_ROOT-Struktur . Der Treiber füllt diese Struktur aus, um den einheitlichen Eigenschaftenspeicher zu identifizieren, den RetrieveUnifiedDevicePropertyStore abruft.
[out] PropertyStore
Die Adresse eines Speicherorts, der einen Zeiger auf eine IWDFUnifiedPropertyStore-Schnittstelle empfängt .
Rückgabewert
RetrieveUnifiedDevicePropertyStore gibt S_OK zurück, wenn der Vorgang erfolgreich ist. Andernfalls gibt die -Methode möglicherweise einen der folgenden Werte zurück.
Rückgabecode | Beschreibung |
---|---|
|
Der Aufrufer hat ein ungültiges Eingabeargument bereitgestellt. |
|
Fehler beim Belegen von Speicher |
Diese Methode gibt möglicherweise einen der anderen Werte zurück, die Winerror.h enthält.
Hinweise
Ihr Treiber kann RetrieveUnifiedDevicePropertyStore aufrufen, um Zugriff auf den Hardwareschlüssel eines aktuellen Geräts oder einen Vom Gerät unterstützten Geräteschnittstellenschlüssel zu erhalten.
Das RootClass-Element der WDF_PROPERTY_STORE_ROOT Struktur, auf die rootSpecifier verweist, muss auf WdfPropertyStoreRootClassHardwareKey oder WdfPropertyStoreRootClassDeviceInterfaceKey festgelegt werden.
Wenn RootClass auf WdfPropertyStoreRootClassHardwareKey festgelegt ist, muss das Qualifier.HardwareKey.ServiceName-Element von RootSpecifier NULL sein.
Weitere Informationen zum Zugriff auf die Registrierung finden Sie unter Verwenden der Registrierung in UMDF-basierten Treibern.
Beispiele
Im folgenden Codebeispiel wird eine einheitliche Eigenschaftenspeicherschnittstelle abgerufen.
HRESULT
GetDevicePropertyStore(
_In_ IWDFDevice * FxDevice,
_Out_ IWDFUnifiedPropertyStore ** ppUnifiedPropertyStore
)
{
HRESULT hr;
IWDFUnifiedPropertyStore * pUnifiedPropertyStore = NULL;
WDF_PROPERTY_STORE_ROOT RootSpecifier;
IWDFUnifiedPropertyStoreFactory * pUnifiedPropertyStoreFactory = NULL;
HRESULT hrQI = FxDevice->QueryInterface(
IID_PPV_ARGS(&pUnifiedPropertyStoreFactory)
);
WUDF_TEST_DRIVER_ASSERT(SUCCEEDED(hrQI));
RootSpecifier.LengthCb = sizeof(RootSpecifier);
RootSpecifier.RootClass = WdfPropertyStoreRootClassHardwareKey;
RootSpecifier.Qualifier.HardwareKey.ServiceName = NULL;
hr = pUnifiedPropertyStoreFactory->RetrieveUnifiedDevicePropertyStore(
&RootSpecifier,
&pUnifiedPropertyStore
);
if (FAILED(hr))
{
TraceEvents(
TRACE_LEVEL_ERROR,
TEST_TRACE_DEVICE,
"Failed to retrieve unified property store for device: ”
“hr = %!HRESULT!",
hr
);
goto exit;
}
*ppUnifiedPropertyStore = pUnifiedPropertyStore;
exit:
SAFE_RELEASE(pUnifiedPropertyStoreFactory);
return hr;
}
Anforderungen
Anforderung | Wert |
---|---|
Ende des Supports | In UMDF 2.0 und höher nicht verfügbar. |
Zielplattform | Desktop |
UMDF-Mindestversion | 1.11 |
Kopfzeile | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |