PathCchCombineEx 関数 (pathcch.h)
2 つのパス フラグメントを 1 つのパスに結合します。 この関数では、相対パス要素も正規化され、"." 要素と ".." 要素が削除され、最終的なパスが簡略化されます。
この関数は PathCchCombine とは異なり、より長い最終パスを構築できます。
この関数は、呼び出し元が返される文字列のサイズを宣言する必要がある点で、 PathAllocCombine とは異なります。これはスタックに格納されます。
この関数は PathCombine とは異なり、"\"、"\?" および "\?\UNC" プレフィックスを持つパスを受け入れる点で異なります。
構文
WINPATHCCHAPI HRESULT PathCchCombineEx(
[out] PWSTR pszPathOut,
[in] size_t cchPathOut,
[in, optional] PCWSTR pszPathIn,
[in, optional] PCWSTR pszMore,
[in] ULONG dwFlags
);
パラメーター
[out] pszPathOut
この関数が正常に返されると、結合されたパス文字列を受け取るバッファーへのポインター。 このパラメーターは、 pszPathIn または pszMore と同じバッファーを指すことができます。
[in] cchPathOut
pszPathOut が指すバッファーのサイズ (文字数)。
[in, optional] pszPathIn
最初のパス文字列へのポインター。 この値には NULL を指定できます。
[in, optional] pszMore
2 番目のパス文字列へのポインター。 このパスが 1 つの円記号で始まる場合は、 pszPathIn が指すパスのルートとのみ組み合わされます。 このパスが完全修飾されている場合は、他のパスと組み合わされることなく、出力バッファーに直接コピーされます。 この値には NULL を指定できます。
[in] dwFlags
次のフラグの 1 つまたは複数:
戻り値
この関数は、次のような HRESULT コードを返します。
リターン コード | 説明 |
---|---|
|
関数が正常に実行されました。 これには、後に文字のないピリオドなど、空の拡張子の場合も含まれていることに注意してください。 その場合、元の文字列は変更されていない状態で返されます。 |
|
この値は、 pszPathOut パラメーターが NULL に設定されている、 cchPathOut 値が 0 に設定されている、または PATHCCH_MAX_CCH より大 きい値など、いくつかのことが原因で発生する可能性があります。 |
|
関数は、操作を実行するのに十分なメモリを割り当てませんでした。 |
|
元のパスの一方または両方のサイズが PATHCCH_MAX_CCH を超えました。 |
注釈
pszPathIn と pszMore の両方が NULL または空の文字列を指している場合は、pszPathOut が指すバッファーに 1 つの円記号がコピーされます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows 8 [デスクトップ アプリ |UWP アプリ] |
サポートされている最小のサーバー | Windows Server 2012 [デスクトップ アプリ |UWP アプリ] |
対象プラットフォーム | Windows |
ヘッダー | pathcch.h |
Library | Pathcch.lib |