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. Es werden keine neuen Features zu UMDF 1 hinzugefügt, und es gibt eingeschränkte Unterstützung für UMDF 1 für neuere Versionen von Windows 10. 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, der abgerufen 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 Versuch, Arbeitsspeicher zuzuweisen. |
Diese Methode gibt möglicherweise einen der anderen Werte zurück, die winerror.h enthält.
Bemerkungen
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.
Der RootClass Member der WDF_PROPERTY_STORE_ROOT Struktur, auf die RootSpecifier verweist, muss auf WdfPropertyStoreRootClassHardwareKey oder WdfPropertyStoreRootClassDeviceInterfaceKeyfestgelegt werden.
Wenn RootClass- auf WdfPropertyStoreRootClassHardwareKeyfestgelegt ist, muss der Qualifier.HardwareKey.ServiceName Member 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 |
Mindest-UMDF-Version | 1.11 |
Header- | wudfddi.h (include Wudfddi.h) |
DLL- | WUDFx.dll |