PathCchAddExtension 関数 (pathcch.h)
パス文字列にファイル名拡張子を追加します。
この関数は PathAddExtension とは異なり、"\"、"\?" および "\?\UNC" プレフィックスを持つパスを受け入れる点で異なります。
メモ この関数は、バッファー オーバーランの可能性を防ぐために PathAddExtension の代わりに使用する必要があります。
構文
WINPATHCCHAPI HRESULT PathCchAddExtension(
[in, out] PWSTR pszPath,
[in] size_t cchPath,
[in] PCWSTR pszExt
);
パラメーター
[in, out] pszPath
パス文字列へのポインター。 この関数が正常に返されると、バッファーには、追加された拡張子を持つ文字列が含まれます。 この値は NULL にしないでください。
メモ 元の文字列にファイル名拡張子が既に存在する場合、新しい拡張子は追加されず、元の文字列は変更されません。
[in] cchPath
pszPath が指すバッファーのサイズ (文字数)。
[in] pszExt
ファイル名拡張子文字列へのポインター。 この文字列は、前のピリオド (".ext" または "ext") の有無にかかわらず指定できます。
戻り値
この関数は、次のような HRESULT コードを返します。
リターン コード | 説明 |
---|---|
|
関数が正常に実行されました。 これには、後に文字のないピリオドなど、空の拡張子の場合も含まれていることに注意してください。 その場合、元の文字列は変更されていない状態で返されます。 |
|
この値は、 pszPath パラメーターが NULL に設定されている、 cchPath が 0 に設定されている、 PATHCCH_MAX_CCHより大きい値、無効な文字を含む拡張文字列、または有効な拡張子ではないなど、いくつかのことが原因で発生する可能性があります。 |
|
元の文字列には、既に拡張子が付いています。 |
|
バッファーが小さすぎて、返された文字列を保持できません。 |
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | pathcch.h |
Library | Pathcch.lib |