Platform SDK: Files and I/O

IDiskQuotaControl::CreateEnumUsers

Creates an enumerator object for enumerating quota users on the volume. The newly created object implements the IEnumDiskQuotaUsers interface.

HRESULT CreateEnumUsers(
  PSID *rgpUserSids, 
  DWORD cpSids, 
  DWORD fNameResolution,
  PENUM_DISKQUOTA_USERS *ppEnum
);

Parameters

rgpUserSids
Array of security identifier (SID) pointers representing the user objects to be included in the enumeration. If this value is NULL, all user entries are enumerated.
cpSids
Number of items in the rgpUserSids array. Ignored if rgpUserSids is NULL.
fNameResolution
Indicates how the user account information is to be obtained. The volume's quota information identifies users by SID. The user account information (such as domain name, account name, and full name) must be obtained from the network domain controller, or the local computer if it is not on a network. This parameter can be one of the following values.
Value Meaning
DISKQUOTA_USERNAME_RESOLVE_NONE Do not resolve user account information.
DISKQUOTA_USERNAME_RESOLVE_SYNC Resolve user account information synchronously. The IEnumDiskQuotaUsers::Next method returns when the information is resolved. If the information exists in the disk quota SID cache, it is returned immediately. Otherwise, the method must locate the information. This can take several seconds.
DISKQUOTA_USERNAME_RESOLVE_ASYNC Resolve user account information asynchronously. The IEnumDiskQuotaUsers::Next method returns immediately. The caller must implement the IDiskQuotaEvents interface to receive notification when the information is available. If the information was cached during a previous request, notification occurs as soon as the object is serviced. Otherwise, the method obtains the information from the network domain controller, then notifies IDiskQuotaEvents.

ppEnum
Pointer to a pointer to the IEnumDiskQuotaUsers enumerator.

Return Values

This method returns one of the following values.

Value Meaning
NOERROR Success.
ERROR_ACCESS_DENIED The caller has insufficient access rights.
ERROR_NOT_READY The DiskQuotaControl object is not initialized.
E_INVALIDARG The ppEnum parameter is NULL.
E_OUTOFMEMORY Insufficient memory.
E_UNEXPECTED An unexpected exception occurred.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Windows 95/98: Unsupported.
  Header: Declared in Dskquota.h.

See Also

File Systems Overview, File System Interfaces, IDiskQuotaControl