IPropertyStore::SetValue メソッド (propsys.h)
このメソッドは、プロパティ値を設定するか、既存の値を置換または削除します。
構文
HRESULT SetValue(
REFPROPERTYKEY key,
REFPROPVARIANT propvar
);
パラメーター
key
TBD
propvar
TBD
戻り値
メソッドは IPropertyStore::SetValue
、次のいずれかを返すことができます。
リターン コード | 説明 |
---|---|
|
プロパティの変更が成功しました。 |
|
値は設定されましたが、切り捨てられました。 |
|
これはエラー コードです。 プロパティ ストアは読み取り専用であるため、 メソッドで値を設定できませんでした。 |
注釈
IPropertyStore::SetValue
は、現在のプロパティ ストア インスタンスにのみ影響します。 プロパティ ハンドラーは、 IPropertyStore::SetValue
メモリ内のデータ構造にプロパティの変更を蓄積することによって実装します。 プロパティの変更は、 IPropertyStore::Commit が呼び出された場合にのみストリームに書き込まれます。
読み取り専用プロパティ ストアで IPropertyStore::Commit が呼び出された場合、プロパティ ハンドラーはこれを決定し、STG_E_ACCESSDENIEDを返します。
の結果SetValue
として値が追加または削除された場合、IPropertyStore::GetCount および IPropertyStore::GetAt による後続の列挙には、その変更と、変更された値を反映するIPropertyStore::SetValue
後続の呼び出しが反映されます。
新しいプロパティの追加
キーによって指されたプロパティ値がストアに存在しない場合は、 IPropertyStore::SetValue
その値をストアに追加します。
既存のプロパティ値の置換
キーによって指されていたプロパティ値が既にストアに存在する場合は、格納されている値が置き換えられます。
既存のプロパティの削除
プロパティ ストアから値を削除するには、pv が指す構造体の vt メンバーをVT_EMPTYに設定します。 その値が存在しない場合は、何も行わないと、メソッドはS_OKを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista 以降のバージョンの Windows オペレーティング システムで使用できます。 |
対象プラットフォーム | ユニバーサル |
Header | propsys.h |
Library | Propsys.idl |
IRQL | すべてのレベル |