IDiskQuotaControl::FindUserSid 方法 (dskquota.h)

在卷配额信息中找到特定用户条目。 用户的安全标识符 (SID) 用作搜索键。

语法

HRESULT FindUserSid(
  [in]  PSID            pUserSid,
  [in]  DWORD           fNameResolution,
  [out] PDISKQUOTA_USER *ppUser
);

参数

[in] pUserSid

指向用户的 SID 的指针。

[in] fNameResolution

指示如何获取用户帐户信息。 卷的配额信息按 SID 标识用户。 用户帐户信息 ((如域名、帐户名称和全名) )必须从网络域控制器或本地计算机(如果它不在网络上)获取。 此参数的取值可为下列值之一:

含义
DISKQUOTA_USERNAME_RESOLVE_ASYNC
2
异步解析用户帐户信息。 FindUserSid 会立即返回。 调用方必须实现 IDiskQuotaEvents 接口,以在信息可用时接收通知。 如果信息是在上一个请求期间缓存的,则一旦为对象提供服务,就会立即发出通知。 否则,方法从网络域控制器获取信息,然后通知 IDiskQuotaEvents
DISKQUOTA_USERNAME_RESOLVE_NONE
0
不解析用户帐户信息。
DISKQUOTA_USERNAME_RESOLVE_SYNC
1
同步解析用户帐户信息。 FindUserSid 在信息解析后返回。 如果磁盘配额 SID 缓存中存在该信息,则会立即返回该信息。 否则, 方法必须找到信息。 这可能需要数秒钟的时间。

[out] ppUser

用于接收指向配额用户对象的 IDiskQuotaUser 接口指针的指针。

返回值

此方法返回文件系统错误或以下值之一。

返回代码 说明
S_OK
成功。
ERROR_ACCESS_DENIED
调用方没有足够的访问权限。
ERROR_NOT_READY
DiskQuotaControl 对象未初始化。
ERROR_INVALID_SID
用户的 SID 无效。
E_INVALIDARG
pUserSidppUser 参数为 NULL
E_OUTOFMEMORY
内存不足。
E_FAIL
发生意外的文件系统错误。
E_UNEXPECTED
发生意外异常。

备注

即使配额文件中没有用户配额记录,此方法也会返回用户对象。 这与自动添加用户和默认配额设置的想法一致。 如果请求的用户当前没有配额条目,并且如果用户要请求磁盘空间,则会将其添加到配额文件,则返回的用户对象将具有与卷默认设置相等的警告阈值和硬配额限制。

要求

   
最低受支持的客户端 Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 dskquota.h
DLL Dskquota.dll

请参阅

磁盘管理界面

磁盘配额

IDiskQuotaControl