PropVariantToBooleanWithDefault 関数 (propvarutil.h)

PROPVARIANT 構造体の Boolean プロパティ値を抽出します。 値が存在しない場合は、指定された既定値が返されます。

構文

PSSTDAPI_(BOOL) PropVariantToBooleanWithDefault(
  [in] REFPROPVARIANT propvarIn,
  [in] BOOL           fDefault
);

パラメーター

[in] propvarIn

型: REFPROPVARIANT

ソース PROPVARIANT 構造体への参照。

[in] fDefault

種類: BOOL

現在値が存在しない場合に使用する既定のプロパティ値を指定します。

戻り値

種類: BOOL

抽出されたブール値または既定値。

注釈

このヘルパー関数は、呼び出し元のアプリケーションが PROPVARIANT がブール値を保持することを想定し、そうでない場合は既定値を使用する場所で使用されます。 たとえば、プロパティ ストアから値を取得するアプリケーションでは、これを使用して、ブール型プロパティのブール値を安全に抽出できます。

ソース PROPVARIANT型VT_BOOLがある場合、このヘルパー関数はブール値を抽出します。 それ以外の場合は、 PROPVARIANT 構造体の値をブール値に変換しようとします。 ソース PROPVARIANT型VT_EMPTY がある場合、または変換できない場合、 PropVariantToBooleanWithDefaultfDefault によって提供される既定値を返します。 可能な変換の一覧については、「 PropVariantChangeType 」を参照してください。

より大きなプログラムの一部として含める次の例では、 PropVariantToBooleanWithDefault を使用して PROPVARIANT のブール値にアクセスする方法を示します。

// IPropertyStore *ppropstore;
// Assume the variable ppropstore is initialized and valid.
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_IsRead, &propvar);

if (SUCCEEDED(hr))
{
     // PKEY_IsRead is expected to produce a VT_BOOL or VT_EMPTY value.
     // The application developer decided to treat VT_EMPTY or invalid values as TRUE
     BOOL fShared = PropVariantToBooleanWithDefault(propvar, TRUE);
     
     // fShared is now valid.
     PropVariantClear(&propvar);
}

要件

要件
サポートされている最小のクライアント WINDOWS XP と SP2、Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 SP1 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー propvarutil.h
Library Propsys.lib
[DLL] Propsys.dll (バージョン 6.0 以降)
再頒布可能パッケージ Windows デスクトップ検索 (WDS) 3.0