IWDFUnifiedPropertyStoreFactory::RetrieveUnifiedDevicePropertyStore 方法 (wudfddi.h)
[警告: UMDF 2 是最新版的 UMDF,並取代 UMDF 1。 所有新的 UMDF 驅動程式都應該使用 UMDF 2 來撰寫。 未將新功能新增至 UMDF 1,而且較新版本的 #DF0CC4320C1EA4174967EEDCD90E66B72 上不支援 UMDF 1。 通用 Windows 驅動程式必須使用 UMDF 2。 如需詳細資訊,請參閱使用 UMDF 使用者入門。]
RetrieveUnifiedDevicePropertyStore 方法會擷取整合的屬性存放區介面。
語法
HRESULT RetrieveUnifiedDevicePropertyStore(
[in] PWDF_PROPERTY_STORE_ROOT RootSpecifier,
[out] IWDFUnifiedPropertyStore **PropertyStore
);
參數
[in] RootSpecifier
驅動程式配置 WDF_PROPERTY_STORE_ROOT 結構的位址。 驅動程式會填入這個結構,以識別 RetrieveUnifiedDevicePropertyStore 所擷取的統一屬性存放區。
[out] PropertyStore
接收 IWDFUnifiedPropertyStore 介面指標的位置位址。
傳回值
RetrieveUnifiedDevicePropertyStore 會在作業成功時傳回S_OK。 否則,方法可能會傳回下列其中一個值。
傳回碼 | Description |
---|---|
|
呼叫端提供無效的輸入自變數。 |
|
嘗試配置記憶體失敗。 |
這個方法可能會傳回 Winerror.h 包含的其他其中一個值。
備註
您的驅動程式可以呼叫 RetrieveUnifiedDevicePropertyStore ,以取得裝置所支援目前裝置硬體密鑰或裝置介面密鑰的存取權。
RootSpecifier 所指向之WDF_PROPERTY_STORE_ROOT結構的 RootClass 成員必須設定為 WdfPropertyStoreRootClassHardwareKey 或 WdfPropertyStoreRootClassDeviceInterfaceKey。
此外,如果 RootClass 設定為 WdfPropertyStoreRootClassHardwareKey,則 RootSpecifier 的 Qualifier.HardwareKey.ServiceName 成員必須是 NULL。
如需存取登錄的詳細資訊,請參閱 在 UMDF 型驅動程式中使用登錄。
範例
下列程式代碼範例會擷取整合的屬性存放區介面。
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;
}
規格需求
需求 | 值 |
---|---|
終止支援 | UMDF 2.0 和更新版本中無法使用。 |
目標平台 | 桌面 |
最低UMDF版本 | 1.11 |
標頭 | wudfddi.h (包括 Wudfddi.h) |
Dll | WUDFx.dll |