[関数の検出は、[要件] セクションで指定されたオペレーティング システムで使用できます。 これは、以降のバージョンで変更または使用できない可能性があります。
関数インスタンスのプロパティ ストアを開きます。 プロパティ ストアには、名前、アイコン、インストール日、その他の情報など、関数インスタンスに関するメタデータが含まれています。
構文
HRESULT OpenPropertyStore(
[in] DWORD dwStgAccess,
[out] IPropertyStore **ppIPropertyStore
);
パラメーター
[in] dwStgAccess
開いているストリームに割り当てられるアクセス モード。 この方法では、次のアクセス モードがサポートされています。
STGM_READ
STGM_READWRITE
STGM_WRITE
[out] ppIPropertyStore
IPropertyStore インターフェイス ポインターへのポインター。
戻り値
可能な戻り値は次のとおりですが、これらに限定されません。
| リターン コード | 説明 |
|---|---|
|
メソッドは正常に完了しました。 |
|
呼び出し元が十分なアクセス権を持っていないか、探索プロバイダーがそのプロパティ ストアへの書き込みアクセスを許可していないため、メソッドは書き込み可能なプロパティ ストアを開くことができませんでした。 |
|
dwStgAccess の値が無効です。 |
|
ppIPropertyStore は無効なメモリを指しています。 |
|
メソッドは、この操作を実行するために必要なメモリを割り当てることができません。 |
解説
一度に開くことができるプロパティ ストアは、関数インスタンスごとに 1 つだけです。 OpenPropertyStore が同じ関数インスタンスで 2 回呼び出された場合、両方の ppIPropertyStore ポインターが同じプロパティ ストアを指します。 さらに、アクセス モード ( dwStgAccess パラメーターで指定) は、最新の OpenPropertyStore 呼び出しによって決定されます。 アプリケーションは Release を 呼び出して、別のプロパティ ストアを開く前にプロパティ ストアを閉じる必要があります。
OpenPropertyStore は、削除されたデバイスのプロパティ ストアを返す可能性があります。 この場合、ストア内のプロパティ キーは空になります。 この状況は、デバイスの devnode が削除されたが、デバイスの関数インスタンスに関連付けられているプロパティ ストアに引き続きアクセスできる場合に発生する可能性があります。 この状況はほとんど発生しません。
要件
| サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
| サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
| 対象プラットフォーム | Windows |
| ヘッダー | functiondiscoveryapi.h |
| [DLL] | FunDisc.dll |