CreateDirectoryTransactedW

指定されたテンプレートディレクトリの属性を持つ新しいディレクトリをトランザクション操作として作成する。(Unicode)

CreateDirectoryTransactedW lpTemplateDirectory, lpNewDirectory, lpSecurityAttributes, hTransaction

lpTemplateDirectory : [wstr] 新しいディレクトリを作成する際にテンプレートとして使用するディレクトリのパス。このパラメータは NULL でも構わない。この関数の ANSI 版では、名前は MAX_PATH 文字に制限されている。この制限を 32,767 ワイド文字まで拡張するには、Unicode 版を呼びパスの先頭に "\\?\" を付ける。詳細は Naming a File を参照。ディレクトリはローカルコンピュータ上に存在しなければならない。そうでない場合、関数は失敗し最終エラーコードは ERROR_TRANSACTIONS_UNSUPPORTED_REMOTE に設定される。
lpNewDirectory : [wstr] 作成するディレクトリのパス。この関数の ANSI 版では、名前は MAX_PATH 文字に制限されている。この制限を 32,767 ワイド文字まで拡張するには、Unicode 版を呼びパスの先頭に "\\?\" を付ける。詳細は Naming a File を参照。
lpSecurityAttributes : [var] SECURITY_ATTRIBUTES 構造体へのポインタ。構造体の lpSecurityDescriptor メンバーが新しいディレクトリのセキュリティ記述子を指定する。lpSecurityAttributes が NULL の場合、ディレクトリは既定のセキュリティ記述子を取得する。ディレクトリの既定セキュリティ記述子に含まれるアクセス制御リスト (ACL) は親ディレクトリから継承される。対象ファイルシステムは、このパラメータを有効にするためにファイルとディレクトリに対するセキュリティをサポートしている必要がある。これは GetVolumeInformation が FS_PERSISTENT_ACLS を返すときに示される。
hTransaction : [intptr] トランザクションへのハンドル。このハンドルは CreateTransaction 関数が返す。

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

解説

指定されたテンプレートディレクトリの属性を持つ新しいディレクトリをトランザクション操作として作成する。(Unicode)

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

[備考]
CreateDirectoryTransacted
関数は、他のディレクトリからストリーム情報を継承するディレクトリを作成できる。この関数は例えば、属性としてディレクトリ内容を正しく識別するために必要なリソースストリームを持つ
Macintosh ディレクトリを使う場合に有用である。NTFS
ファイルシステムのような一部のファイルシステムは個々のファイルとディレクトリの圧縮または暗号化をサポートしている。そのようなファイルシステムでフォーマットされたボリュームでは、新しいディレクトリは親ディレクトリの圧縮と暗号化の属性を継承する。暗号化が無効になっている親ディレクトリの下に子ディレクトリを作成しようとすると、この関数は
ERROR_EFS_NOT_ALLOWED_IN_TRANSACTION で失敗する。CreateFileTransacted 関数を
FILE_FLAG_BACKUP_SEMANTICS フラグ付きで呼ぶことでディレクトリへのハンドルを取得できる。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