Share via


PSCreateMemoryPropertyStore 函式 (propsys.h)

建立記憶體內部屬性存放區。

語法

PSSTDAPI PSCreateMemoryPropertyStore(
  [in]  REFIID riid,
  [out] void   **ppv
);

參數

[in] riid

類型: REFIID

所要求介面標識碼的參考。

[out] ppv

類型: void**

當此函式傳回時,包含所需介面的指標,通常是 IPropertyStoreIPersistSerializedPropStorage

傳回值

類型: HRESULT

如果此函式成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

此函式會建立記憶體內部屬性存放區物件,該物件會實作 IPropertyStoreINamedPropertyStoreIPropertyStoreCacheIPersistStreamIPropertyBagIPersistSerializedPropStorage

這是使用 InMemoryPropertyStoreCLSID_InMemoryPropertyStore CoCreateInstance 建構 () 和 InMemoryPropertyStoreMarshalByValue (CLSID_InMemoryPropertyStoreMarshalByValue) 所識別的相同物件。

InMemoryPropertyStoreMarshalByValue 可用於在進程之間傳遞對象的設計,使其更有效率。 它會 依值實作封送處理,並在 unmarshal 內容中建立對象的複本,並避免程式間通訊成本很高。

記憶體屬性存放區沒有前置表示法,因此呼叫 IPropertyStore::Commit 是無作業。

記憶體屬性存放區是安全線程且敏捷的。

範例

下列範例示範如何使用 InMemoryPropertyStore

auto memPropStore = wil::CoCreateInstance<InMemoryPropertyStore, IPropertyStore>();
auto value = PROPVARIANT{};
value.vt = VT_LPWSTR;
value.pwszVal = L"Title";
THROW_IF_FAILED(memPropStore->SetValue(PKEY_Title, value));

規格需求

需求
最低支援的用戶端 Windows XP 搭配 SP2、Windows Vista [僅限傳統型應用程式]
最低支援的伺服器 Windows Server 2003 SP1 [僅限傳統型應用程式]
目標平台 Windows
標頭 propsys.h
程式庫 Propsys.lib
Dll Propsys.dll (6.0 版或更新版本)
可轉散發套件 Windows 桌面搜尋 (WDS) 3.0

另請參閱

PSCreateMultiplexPropertyStore