GetDurationFormat 関数 (winnls.h)

識別子で指定されたロケールの時間文字列として時間の期間を書式設定します。

メモ相互運用性の理由から、Microsoft は新しいロケールのロケール識別子ではなくロケール名の使用に移行するため、アプリケーションは GetDurationFormatEx 関数を GetDurationFormat に優先する必要があります。 Windows Vista 以降でのみ実行されるアプリケーションでは、 GetDurationFormatEx を使用する必要があります。
 

構文

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

関数オプションを指定するフラグ。 lpFormatNULL に設定されていない場合、このパラメーターは 0 に設定する必要があります。 lpFormatNULL に設定されている場合、アプリケーションでは、指定したロケールのシステムの既定の期間形式を使用して文字列を書式設定するLOCALE_NOUSEROVERRIDEを指定できます。

注意 ユーザー設定が無効になっているため、LOCALE_NOUSEROVERRIDEの使用は強くお勧めしません。
 

[in, optional] lpDuration

書式設定する期間情報を含む SYSTEMTIME 構造体へのポインター。 このポインターが NULL の場合、関数はこのパラメーターを無視し、 ullDuration を使用します。

[in] ullDuration

期間の 100 ナノ秒間隔の数を表す 64 ビット符号なし整数。 lpDurationullDuration の両方が存在する場合は、lpDuration が優先されます。 lpDurationNULL に設定され、ullDuration が 0 に設定されている場合、期間は 0 になります。

[in, optional] lpFormat

書式指定文字列へのポインター。 詳細については、GetDurationFormatExlpFormat パラメーターを参照してください。

[out, optional] lpDurationStr

関数が期間文字列を取得するバッファーへのポインター。

または、cchDuration が 0 に設定されている場合、このパラメーターに NULL を含めることができます。 この場合、関数は期間文字列バッファーに必要なサイズを返します。

[in] cchDuration

lpDurationStr で示されるバッファーのサイズ (文字単位)。

または、アプリケーションでこのパラメーターを 0 に設定することもできます。 この場合、この関数は lpDurationStrNULL を取得し、期間文字列バッファーに必要なサイズを返します。

戻り値

成功した場合に lpDurationStr によって示されるバッファー内で取得された文字数を返します。 lpDurationStrNULL に設定され、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

関連項目

GetDateFormat

GetDurationFormatEx

GetLocaleInfo

GetTimeFormat

各国語サポート

各国語サポート関数