GetDurationFormat 関数 (winnls.h)
識別子で指定されたロケールの時間文字列として時間の期間を書式設定します。
構文
int GetDurationFormat(
[in] LCID Locale,
[in] DWORD dwFlags,
[in, optional] const SYSTEMTIME *lpDuration,
[in] ULONGLONG ullDuration,
[in, optional] LPCWSTR lpFormat,
[out, optional] LPWSTR lpDurationStr,
[in] int cchDuration
);
パラメーター
[in] Locale
この関数が期間の書式を設定するロケールを指定するロケール識別子。 MAKELCID マクロを使用してロケール識別子を作成するか、次のいずれかの定義済み値を使用できます。
Windows Vista 以降: 次のカスタム ロケール識別子もサポートされています。[in] dwFlags
関数オプションを指定するフラグ。 lpFormat が NULL に設定されていない場合、このパラメーターは 0 に設定する必要があります。 lpFormat が NULL に設定されている場合、アプリケーションでは、指定したロケールのシステムの既定の期間形式を使用して文字列を書式設定するLOCALE_NOUSEROVERRIDEを指定できます。
[in, optional] lpDuration
書式設定する期間情報を含む SYSTEMTIME 構造体へのポインター。 このポインターが NULL の場合、関数はこのパラメーターを無視し、 ullDuration を使用します。
[in] ullDuration
期間の 100 ナノ秒間隔の数を表す 64 ビット符号なし整数。 lpDuration と ullDuration の両方が存在する場合は、lpDuration が優先されます。 lpDuration が NULL に設定され、ullDuration が 0 に設定されている場合、期間は 0 になります。
[in, optional] lpFormat
書式指定文字列へのポインター。 詳細については、GetDurationFormatEx の lpFormat パラメーターを参照してください。
[out, optional] lpDurationStr
関数が期間文字列を取得するバッファーへのポインター。
または、cchDuration が 0 に設定されている場合、このパラメーターに NULL を含めることができます。 この場合、関数は期間文字列バッファーに必要なサイズを返します。
[in] cchDuration
lpDurationStr で示されるバッファーのサイズ (文字単位)。
または、アプリケーションでこのパラメーターを 0 に設定することもできます。 この場合、この関数は lpDurationStr で NULL を取得し、期間文字列バッファーに必要なサイズを返します。
戻り値
成功した場合に lpDurationStr によって示されるバッファー内で取得された文字数を返します。 lpDurationStr が NULL に設定され、cchDuration が 0 に設定されている場合、この関数は、null 終端文字を含む期間文字列バッファーに必要なサイズを返します。 たとえば、バッファーに 10 文字が書き込まれる場合、関数は 11 を返して終端の null 文字を含めます。
成功しなかった場合、関数は 0 を返します。 拡張エラー情報を取得するために、アプリケーションは GetLastError を呼び出すことができます。これにより、次のいずれかのエラー コードが返されます。
- ERROR_INSUFFICIENT_BUFFER。 指定されたバッファー サイズが十分に大きくなかったか、 正しく NULL に設定されていませんでした。
- ERROR_INVALID_PARAMETER。 パラメーター値のいずれかが無効です。
注釈
「GetDurationFormatEx の備考」を参照してください。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | winnls.h (Windows.h を含む) |
Library | Kernel32.lib |
[DLL] | Kernel32.dll |