- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
我的要求如下:
现在,我可以创建目录如下:
SHCreateDirectoryEx( NULL, <path>.c_str(), NULL );
我现在想设置适当的安全属性。任何帮助/代码示例将不胜感激。
平台:Win7(语言:C++/C)
最佳答案
您要做的第一件事是创建一个 SECURITY_ATTRIBUTES
结构,并设置它的成员。
SECURITY_ATTRIBUTES SecAttr;
SecAttr.size = sizeof(SECURITY_ATTRIBUTES); //Set size of structure
下一个成员是 SECURITY_DESCRIPTOR
类型,它实际上包含管理对此对象的安全访问所需的所有数据。
根据 MSDN documentation,您不能直接创建此结构,但您可以使用文档中提供的函数来创建这样的结构,根据需要设置所有必要的标志,然后获取指向它的指针以传递给 SecAttr
。
可以找到关于如何创建这样一个 SECURITY_DESCRIPTOR
结构的示例 here .在本示例中,它是针对注册表项完成的,但原理是相同的。
本质上,您是在填充 DACL ( Discretionary Security Access Control List ) 或 SACL ( System Access Control List 以及您希望对象具有的访问权限(读/写/只读)等的正确属性。
填写完整个 SECURITY_ATTRIBUTES
结构后,您可以将其传递给您的 SHCreateDirectoryEx
函数。
关于c++ - 我们如何将 SECURITY_ATTRIBUTES 与 SHCreateDirectoryEx() 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15273711/
我有一些代码使用 P/Invoke 来启动进程并捕获标准输出。 (我们为什么使用 P/Invoke 而不是 System.Diagnostics.Process 来做这件事的故事很长很复杂;可以说它是
我的场景如下:使用 CreateNamedPipe() 创建命名管道对象的过程具有管理员权限,但客户端进程“连接”到它 CreateFile()才不是。通过 NULL作为 CreateNamedPip
我的要求如下: 在指定位置创建目录。 设置其属性,使文件夹“只读”。换句话说,用户帐户不应在此文件夹中创建文件夹/文件。 现在,我可以创建目录如下: SHCreateDirectoryEx( NULL
您好! 当我尝试在使用 CreateProcess() 启动的线程上使用 GetThreadContext() 时,我收到错误 998: ERROR_NOACCESS 您可以在此处找到此问题的人为设计
使用 Windows 的 Win32 API 可以创建文件并为其分配适当的安全权限(例如,一些用户可以读取和写入文件,另一组中的其他用户只能读取但不能写入等),使用CreateFile()及其 SEC
我是一名优秀的程序员,十分优秀!