Metodo IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore (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 info, vedi Introduzione con UMDF.]
Il metodo RetrieveUnifiedDevicePropertyStore recupera un'interfaccia dell'archivio proprietà unificata.
Sintassi
HRESULT RetrieveUnifiedDevicePropertyStore(
[in] PWDF_PROPERTY_STORE_ROOT RootSpecifier,
[out] IWDFUnifiedPropertyStore **PropertyStore
);
Parametri
[in] RootSpecifier
Indirizzo di una struttura WDF_PROPERTY_STORE_ROOT allocata dal driver. Il driver compila questa struttura per identificare l'archivio proprietà unificato recuperato da RetrieveUnifiedDevicePropertyStore .
[out] PropertyStore
Indirizzo di una posizione che riceve un puntatore a un'interfaccia IWDFUnifiedPropertyStore .
Valore restituito
RetrieveUnifiedDevicePropertyStore restituisce S_OK se l'operazione ha esito positivo. In caso contrario, il metodo potrebbe restituire uno dei valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Il chiamante ha fornito un argomento di input non valido. |
|
Tentativo di allocazione della memoria non riuscito. |
Questo metodo potrebbe restituire uno degli altri valori contenuti da Winerror.h .
Commenti
Il driver può chiamare RetrieveUnifiedDevicePropertyStore per ottenere l'accesso alla chiave hardware di un dispositivo corrente o a una chiave dell'interfaccia del dispositivo supportata dal dispositivo.
Il membro RootClass della struttura WDF_PROPERTY_STORE_ROOT a cui punta RootSpecifier deve essere impostato su WdfPropertyStoreRootClassHardwareKey o WdfPropertyStoreRootClassDeviceInterfaceKey.
Inoltre, se RootClass è impostato su WdfPropertyStoreRootClassHardwareKey, il membro Qualifier.HardwareKey.ServiceName di RootSpecifier deve essere NULL.
Per altre informazioni sull'accesso al Registro di sistema, vedere Uso del Registro di sistema nei driver basati su UMDF.
Esempio
Nell'esempio di codice seguente viene recuperata un'interfaccia dell'archivio proprietà unificata.
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;
}
Requisiti
Requisito | Valore |
---|---|
Fine del supporto | Non disponibile in UMDF 2.0 e versioni successive. |
Piattaforma di destinazione | Desktop |
Versione UMDF minima | 1.11 |
Intestazione | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |