次の方法で共有


IFunctionInstance::OpenPropertyStore メソッド (functiondiscoveryapi.h)

[関数の検出は、[要件] セクションで指定されたオペレーティング システムで使用できます。 これは、以降のバージョンで変更または使用できない可能性があります。

関数インスタンスのプロパティ ストアを開きます。 プロパティ ストアには、名前、アイコン、インストール日、その他の情報など、関数インスタンスに関するメタデータが含まれています。

構文

HRESULT OpenPropertyStore(
  [in]  DWORD          dwStgAccess,
  [out] IPropertyStore **ppIPropertyStore
);

パラメーター

[in] dwStgAccess

開いているストリームに割り当てられるアクセス モード。 この方法では、次のアクセス モードがサポートされています。

STGM_READ

STGM_READWRITE

STGM_WRITE

[out] ppIPropertyStore

IPropertyStore インターフェイス ポインターへのポインター。

戻り値

可能な戻り値は次のとおりですが、これらに限定されません。

リターン コード 説明
S_OK
メソッドは正常に完了しました。
STG_E_ACCESSDENIED
呼び出し元が十分なアクセス権を持っていないか、探索プロバイダーがそのプロパティ ストアへの書き込みアクセスを許可していないため、メソッドは書き込み可能なプロパティ ストアを開くことができませんでした。
E_INVALIDARG
dwStgAccess の値が無効です。
E_POINTER
ppIPropertyStore は無効なメモリを指しています。
E_OUTOFMEMORY
メソッドは、この操作を実行するために必要なメモリを割り当てることができません。

解説

一度に開くことができるプロパティ ストアは、関数インスタンスごとに 1 つだけです。 OpenPropertyStore が同じ関数インスタンスで 2 回呼び出された場合、両方の ppIPropertyStore ポインターが同じプロパティ ストアを指します。 さらに、アクセス モード ( dwStgAccess パラメーターで指定) は、最新の OpenPropertyStore 呼び出しによって決定されます。 アプリケーションは Release を 呼び出して、別のプロパティ ストアを開く前にプロパティ ストアを閉じる必要があります。

OpenPropertyStore は、削除されたデバイスのプロパティ ストアを返す可能性があります。 この場合、ストア内のプロパティ キーは空になります。 この状況は、デバイスの devnode が削除されたが、デバイスの関数インスタンスに関連付けられているプロパティ ストアに引き続きアクセスできる場合に発生する可能性があります。 この状況はほとんど発生しません。

要件

   
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー functiondiscoveryapi.h
[DLL] FunDisc.dll

関連項目

IFunctionInstance