CreateDirectoryW

新しいディレクトリを作成する。(CreateDirectoryW)

CreateDirectoryW lpPathName, lpSecurityAttributes

lpPathName : [wstr] 作成するディレクトリのパス。この関数の ANSI 版では、パスの既定の文字列サイズ制限は 248 文字 (MAX_PATH - 8.3 ファイル名のための余裕) である。この制限を 32,767 ワイド文字まで拡張するには、Unicode 版を呼びパスの先頭に "\\\\?\\" を付ける。詳細は Naming a File を参照。
lpSecurityAttributes : [var] SECURITY_ATTRIBUTES 構造体へのポインタ。構造体の lpSecurityDescriptor メンバーが新しいディレクトリのセキュリティ記述子を指定する。lpSecurityAttributes が NULL の場合、ディレクトリは既定のセキュリティ記述子を取得する。ディレクトリの既定セキュリティ記述子の ACL は親ディレクトリから継承される。対象ファイルシステムは、このパラメータを有効にするためにファイルとディレクトリに対するセキュリティをサポートしている必要がある(GetVolumeInformation が FS_PERSISTENT_ACLS を返すときに示される)。

(プラグイン / モジュール : kernel32.dll)

解説

新しいディレクトリを作成する。(CreateDirectoryW)

[戻り値]
関数が成功した場合、戻り値はゼロ以外。関数が失敗した場合、戻り値はゼロ。拡張エラー情報を取得するには GetLastError
を呼ぶ。想定されるエラーは以下のとおり。
(以下省略)

[備考]
NTFS
ファイルシステムのような一部のファイルシステムは個々のファイルとディレクトリの圧縮または暗号化をサポートしている。そのようなファイルシステムでフォーマットされたボリュームでは、新しいディレクトリは親ディレクトリの圧縮と暗号化の属性を継承する。アプリケーションは
CreateFile を FILE_FLAG_BACKUP_SEMANTICS
フラグ付きで呼ぶことでディレクトリへのハンドルを取得できる。コード例については CreateFile
を参照。継承機能をサポートするため、このオブジェクトのセキュリティ記述子を問い合わせる関数は、発見的に継承が有効であることを判定して報告する場合がある。詳細は
Automatic Propagation of Inheritable ACEs を参照。Windows 8 および Windows
Server 2012 では、この関数は以下の技術でサポートされている。
(以下省略)

情報

プラグイン / モジュールkernel32.dll
バージョン1.0
作成日2026/04/16
著作者IronHSP / CsWin32 bridge
URLhttps://github.com/inovia/IronHSP
備考Win32 API の kernel32.dll 関数群。CsWin32 + win32metadata から自動生成。
hsp3net 専用 (intptr / NSTRUCT / wstr を使用)。
タイプ拡張命令
グループWin32API
対応環境
  • Windows 版 HSP
hs ファイルhsphelp\win32_kernel32_gen2.hs