IWDFUnifiedPropertyStoreFactory ::RetrieveUnifiedDevicePropertyStore, méthode (wudfddi.h)
[Avertissement : UMDF 2 est la dernière version de UMDF et remplace UMDF 1. Tous les nouveaux pilotes UMDF doivent être écrits à l’aide de UMDF 2. Aucune nouvelle fonctionnalité n’est ajoutée à UMDF 1 et il existe une prise en charge limitée de UMDF 1 sur les versions plus récentes de Windows 10. Les pilotes Windows universels doivent utiliser UMDF 2. Pour plus d’informations, consultez Bien démarrer avec UMDF.]
La méthode RetrieveUnifiedDevicePropertyStore récupère une interface de magasin de propriétés unifiée.
Syntaxe
HRESULT RetrieveUnifiedDevicePropertyStore(
[in] PWDF_PROPERTY_STORE_ROOT RootSpecifier,
[out] IWDFUnifiedPropertyStore **PropertyStore
);
Paramètres
[in] RootSpecifier
Adresse d’une structure WDF_PROPERTY_STORE_ROOT allouée par le pilote. Le pilote remplit cette structure pour identifier le magasin de propriétés unifié qui RetrieveUnifiedDevicePropertyStore récupère.
[out] PropertyStore
Adresse d’un emplacement qui reçoit un pointeur vers une interface IWDFUnifiedPropertyStore.
Valeur de retour
RetrieveUnifiedDevicePropertyStore retourne S_OK si l’opération réussit. Sinon, la méthode peut retourner l’une des valeurs suivantes.
Retourner le code | Description |
---|---|
|
L’appelant a fourni un argument d’entrée non valide. |
|
Une tentative d’allocation de mémoire a échoué. |
Cette méthode peut retourner l’une des autres valeurs qui Winerror.h contient.
Remarques
Votre pilote peut appeler RetrieveUnifiedDevicePropertyStore pour obtenir l’accès à la clé matérielle d’un appareil actuel ou à une clé d’interface d’appareil prise en charge par l’appareil.
Le membre RootClass de la structure WDF_PROPERTY_STORE_ROOT pointée par RootSpecifier doit être défini sur WdfPropertyStoreRootClassHardwareKey ou WdfPropertyStoreRootClassDeviceInterfaceKey.
En outre, si RootClass a la valeur WdfPropertyStoreRootClassHardwareKey, le Qualifier.HardwareKey.ServiceName membre de RootSpecifier doit être NULL.
Pour plus d’informations sur l’accès au Registre, consultez Utilisation du Registre dans les pilotes basés sur UMDF.
Exemples
L’exemple de code suivant récupère une interface de magasin de propriétés unifiée.
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;
}
Exigences
Exigence | Valeur |
---|---|
fin du support | Indisponible dans UMDF 2.0 et versions ultérieures. |
plateforme cible | Bureau |
version minimale de UMDF | 1.11 |
d’en-tête | wudfddi.h (include Wudfddi.h) |
DLL | WUDFx.dll |