SaferCreateLevel 函数 (winsafer.h)

SaferCreateLevel 函数会打开SAFER_LEVEL_HANDLE。

语法

BOOL SaferCreateLevel(
  [in]  DWORD              dwScopeId,
  [in]  DWORD              dwLevelId,
  [in]  DWORD              OpenFlags,
  [out] SAFER_LEVEL_HANDLE *pLevelHandle,
        LPVOID             lpReserved
);

参数

[in] dwScopeId

要创建的级别的范围。 下表列出了可能的值。

“值” 含义
SAFER_SCOPEID_MACHINE
1
所创建级别的范围按计算机。
SAFER_SCOPEID_USER
2
所创建级别的范围由用户确定。

[in] dwLevelId

要打开的句柄的级别。 下表列出了可能的值。

“值” 含义
SAFER_LEVELID_CONSTRAINED
0x10000
无论用户的用户权限如何,软件都无法访问某些资源,例如加密密钥和凭据。
SAFER_LEVELID_DISALLOWED
0x00000
无论用户的用户权限如何,软件都不会运行。
SAFER_LEVELID_FULLYTRUSTED
0x40000
软件用户权限由用户的用户权限决定。
SAFER_LEVELID_NORMALUSER
0x20000
允许程序以没有 管理员Power User 用户权限的用户身份执行。 软件可以访问普通用户访问的资源。
SAFER_LEVELID_UNTRUSTED
0x01000
允许程序执行仅访问授予打开已知组的资源,阻止对 管理员Power User 权限以及个人授予的权限的访问。

[in] OpenFlags

此值可以是以下值。

含义
SAFER_LEVEL_OPEN
1

[out] pLevelHandle

返回SAFER_LEVEL_HANDLE。 使用完句柄后,通过调用 SaferCloseLevel 函数将其关闭。

lpReserved

此参数留待将来使用。 将其设置为 NULL

返回值

如果成功,则返回非零值,否则返回零。

有关扩展的错误信息,请调用 GetLastError

要求

要求
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 winsafer.h
Library Advapi32.lib
DLL Advapi32.dll
API 集 ext-ms-win-advapi32-safer-l1-1-0 (引入Windows 8)