SHCreateDirectoryExA 関数 (shlobj_core.h)

[この機能は、Windows XP Service Pack 2 (SP2) と Windows Server 2003 を通じて使用できます。 それ以降のバージョンの Windows では、変更または使用できない可能性があります。

オプションのセキュリティ属性を使用して、新しいファイル システム フォルダーを作成します。

構文

int SHCreateDirectoryExA(
  [in, optional] HWND                      hwnd,
  [in]           LPCSTR                    pszPath,
  [in, optional] const SECURITY_ATTRIBUTES *psa
);

パラメーター

[in, optional] hwnd

型: HWND

親ウィンドウのハンドル。 ユーザー インターフェイスが表示されない場合は、このパラメーターを NULL に 設定できます。

[in] pszPath

種類: LPCTSTR

ディレクトリの完全修飾パスを指定する null で終わる文字列へのポインター。 この文字列は、終端の null 文字を含め、最大 248 文字です。

[in, optional] psa

型: const SECURITY_ATTRIBUTES*

ディレクトリのセキュリティ属性を持つ SECURITY_ATTRIBUTES 構造体へのポインター。 セキュリティ属性を設定する必要がない場合は、このパラメーターを NULL に設定します。

戻り値

型: int

成功した場合 はERROR_SUCCESS を返します。 操作が失敗した場合は、ここに記載されているものも含め、他のエラー コードを返すことができます。 特に一覧にない値については、「 システム エラー コード」を参照してください。

リターン コード 説明
ERROR_BAD_PATHNAME
pszPath パラメーターが相対パスに設定されました。
ERROR_FILENAME_EXCED_RANGE
pszPath が指すパスが長すぎます。
ERROR_PATH_NOT_FOUND
pszPath が指すパスがシステムで見つかりません。 パスに無効なエントリが含まれている可能性があります。
ERROR_FILE_EXISTS
ディレクトリが存在します。
ERROR_ALREADY_EXISTS
ディレクトリが存在します。
ERROR_CANCELLED
ユーザーが操作を取り消しました。

注釈

この関数は、 pszPath によって完全修飾パスが指定されたファイル システム フォルダーを作成します。 中間フォルダーが 1 つ以上存在しない場合も作成されます。 SHCreateDirectoryEx は 、ファイルが表示されていることを確認します。 表示されない場合は、次のいずれかが必要です。

  • hwnd が有効なウィンドウ ハンドルに設定されている場合は、ファイルにアクセスできない可能性があることをユーザーに警告するメッセージ ボックスが表示されます。 ユーザーが続行しない場合、関数は ERROR_CANCELLEDを返します。
  • hwndNULL に設定されている場合、ユーザー インターフェイスは表示されません。関数はERROR_CANCELLEDを返します。

注意

shlobj_core.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHCreateDirectoryEx を定義します。 エンコードに依存しないエイリアスをエンコードニュートラルでないコードと組み合わせて使用すると、コンパイルまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional、Windows XP [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shlobj_core.h (Shlobj.h、Shlobj_core.h を含む)
Library Shell32.lib
[DLL] Shell32.dll (バージョン 5.0 以降)

こちらもご覧ください

SHCreateDirectory