<Return[C]><Top>

CreateDirectoryEx

Declare Function Api_CreateDirectoryEx& Lib "kernel32" Alias "CreateDirectoryExA" (ByVal lpTemplateDirectory$, ByVal lpNewDirectory$, lpSecurityAttributes As Any)

Declare Function CreateDirectoryEx Lib "kernel32" Alias "CreateDirectoryExA" (ByVal lpTemplateDirectory As String, ByVal lpNewDirectory As String, lpSecurityAttributes As SECURITY_ATTRIBUTES) As Long

指定されたテンプレートディレクトリの属性を使って、新しいディレクトリを作成する。ファイルシステムがファイルとディレクトリのセキュリティをサポートしている場合は、この関数は、指定されたセキュリティ記述子を新しいディレクトリへ適用される。それ以外の属性については、テンプレートディレクトリの属性をそのまま適用する。

パラメータ
lpTemplateDirectory
    新しいディレクトリを作成する際にテンプレートとして使われるディレクトリのパス名を保持している、NULL で終わる文字列へのポインタを

    指定する。
    Windows NT/2000:この関数の ANSI 版では、名前は最大 MAX_PATH 文字に制限されている。

    この制限をほぼ 32,000 ワイド文字へ拡張するには、この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加する。

    Windows 95/98:文字列の長さは、最大 MAX_PATH 文字。
lpNewDirectory
    作成対象のディレクトリのパス名を保持している、NULL で終わる文字列へのポインタを指定する。
    Windows NT/2000:この関数の ANSI 版では、名前は最大 MAX_PATH 文字に制限されている。

    この制限をほぼ 32,000 ワイド文字へ拡張するには、この関数の Unicode 版を呼び出し、パスの前に "\\?\" という接頭辞を追加する。
    Windows 95/98:文字列の長さは、最大 MAX_PATH 文字。
lpSecurityAttributes
    Windows NT/2000:1 個の SECURITY_ATTRIBUTES 構造体へのポインタを指定する。

    この構造体の lpSecurityDescriptor メンバで新しいディレクトリのセキュリティ記述子を設定する。

    lpSecurityAttributes パラメータで NULL を指定すると、既定のセキュリティ記述子が適用される。

    このパラメータを有効にするには、作成先のファイルシステムがファイルとディレクトリのセキュリティをサポートしていなければならない。
 

戻り値
    関数が成功すると、0 以外の値が返る。
    関数が失敗すると、0 が返る。拡張エラー情報を取得するには、GetLastError 関数を使う。