怎么创建一个只能由超级用户或者指定用户打开的文件或文件夹

如何创建一个只能由超级用户或者指定用户打开的文件或文件夹
Windows下,如何创建一个只能由超级用户或者指定用户打开的文件或文件夹,用CreateFile。。CretaeDir。。么
求指点

------解决方案--------------------
到处找了一下,没有发现 不过可以貌似可以先创建 文件/文件夹, 然后用dos命令cacls来改变访问权限

------解决方案--------------------
C:\>cacls /?
显示或者修改文件的访问控制列表(ACL)

CACLS filename [/T] [/M] [/S[:SDDL]] [/E] [/C] [/G user:perm] [/R user [...]]
[/P user:perm [...]] [/D user [...]]
filename Displays ACLs.
/T 更改当前目录及其所有子目录中指定
文件的 ACL。
/M 将装入卷的 ACL 更改到目录。
/S 显示 DACL 的 SDDL 字符串。
/S:SDDL 用 SDDL 字符串中指定的 ACL 替换
(与 /E、/G、/R、/P 或 /D 一起使用时无效)。
/E 编辑 ACL 而不替换。
/C 在出现拒绝访问错误时继续。
/G user:perm 赋予指定用户访问权限。
Perm 可以是: R 读取
W 写入
C 更改(写入)
F 完全控制
/R user 撤销指定用户的访问权限(仅在与 /E 一起使用时合法)。
/P user:perm 替换指定用户的访问权限。
Perm 可以是: N 无
R 读取
W 写入
C 更改(写入)
F 完全控制
 /D user 拒绝指定用户的访问。
在命令中可以使用通配符指定多个文件。也可以在命令中指定
多个用户。

缩写:
CI - 容器继承。
ACE 会由目录继承。
OI - 对象继承。
ACE 会由文件继承。
IO - 只继承。
ACE 不适用于当前文件/目录。

------解决方案--------------------
探讨
为什么排序时候 交换用下面这样的会不准,某个数会变成0;
a = a + b;
b = a - b;
a = a - b;

------解决方案--------------------
探讨

谢谢一楼
createfile中的SECURITY_ATTRIBUTES安全属性是做这个的么,求详细用法