Platform SDK: Active Directory, ADSI, and Directory Services

DsListRoles

The DsListRoles function lists the roles that a server knows about.

DWORD DsListRoles(
  HANDLE hDs,
  PDS_NAME_RESULTW *ppRoles
);

Parameters

hDs
[in] Bind handle to the directory service.
ppRoles
[out] Pointer to a variable that receives a pointer to a DS_NAME_RESULT structure containing the roles the server knows about. The returned structure must be deallocated using DsFreeNameResult.

The indices of the array in the DS_NAME_RESULT structure indicate what data are contained by each array element. The following constants may be used to specify the desired index for a particular piece of information.
Value Meaning
DS_ROLE_DOMAIN_OWNER Server owns the domain.
DS_ROLE_INFRASTRUCTURE_OWNER Server owns the infrastructure.
DS_ROLE_PDC_OWNER Server owns the primary domain controller (PDC).
DS_ROLE_RID_OWNER Server owns the relative identifier (RID).
DS_ROLE_SCHEMA_OWNER Server owns the schema.

Return Values

If the function returns a list of roles, the return value is NO_ERROR.

If the function fails, the return value can be one of the following error codes.

ERROR_INVALID_PARAMETER
A parameter is incorrect.
ERROR_NOT_ENOUGH_MEMORY
There is insufficient memory available.

Individual name conversion errors are reported in the returned DS_NAME_RESULT structure.

Requirements

  Windows NT/2000: Requires Windows 2000.
  Header: Declared in Ntdsapi.h.
  Library: Included as a resource in Ntdsapi.dll.
  Unicode: Implemented as Unicode and ANSI versions on Windows 2000.

See Also

DC and Replication Management Functions, DsFreeNameResult, DS_NAME_RESULT