PropVariantToFileTime 関数 (propvarutil.h)
PROPVARIANT 構造体から FILETIME 構造体を抽出します。
構文
PSSTDAPI PropVariantToFileTime(
[in] REFPROPVARIANT propvar,
[in] PSTIME_FLAGS pstfOut,
[out] FILETIME *pftOut
);
パラメーター
[in] propvar
型: REFPROPVARIANT
ソース PROPVARIANT 構造体への参照。
[in] pstfOut
種類: PSTIME_FLAGS
次のいずれかのタイム フラグを指定します。
PSTF_UTC (0)
出力で協定世界時が使用されることを示します。
PSTF_LOCAL (1)
出力でローカル時刻が使用されることを示します。
[out] pftOut
種類: FILETIME*
この関数が戻るとき、 には、抽出された FILETIME 構造体が含まれます。
戻り値
種類: HRESULT
この関数が成功すると、 S_OKが返されます。 そうでない場合は、HRESULT エラー コードを返します。
注釈
このヘルパー関数は、呼び出し元のアプリケーションが PROPVARIANT が 1 つの filetime 値を保持することを想定している場所で使用されます。 たとえば、プロパティ ストアから値を取得するアプリケーションでは、これを使用して filetime プロパティの filetime 値を安全に抽出できます。
ソース PROPVARIANT に型VT_FILETIMEまたはVT_DATEがある場合、このヘルパー関数は pstfOut で指定されたタイムゾーンを使用して FILETIME として値を抽出します。 ソース PROPVARIANT がVT_EMPTYまたはその他の型である場合、この関数はエラー結果を返します。
ソース PROPVARIANT は協定世界時 (UTC) である必要があります。 PSTF_UTCフラグとPSTF_LOCAL フラグを使用すると、呼び出し元のアプリケーションは出力の変換対象となるタイム ゾーンを指定できます。
例
より大きなプログラムの一部として含める次の例は、 PropVariantToFileTime を使用して PROPVARIANT の FILETIME 値にアクセスする方法を示しています。
// IPropertyStore *ppropstore;
// Assume variable ppropstore is initialized and valid
PROPVARIANT propvar = {0};
HRESULT hr = ppropstore->GetValue(PKEY_DateModified, &propvar);
if (SUCCEEDED(hr))
{
// PKEY_DateModified is expected to produce a VT_FILETIME or VT_EMPTY value.
// PropVariantToFileTime will return a failure code for VT_EMPTY
FILETIME ftModified;
hr = PropVariantToFileTime(propvar, PSTF_UTC, &ftModified);
if (SUCCEEDED(hr))
{
// ftModified is now valid and contains a file time in UTC
}
else
{
// Unable to convert propvar to a FILETIME
}
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 |