2.6 ServerGetInfo Abstract Interface

msdn link

The ServerGetInfo abstract interface retrieves current configuration information for the local machine.

 DWORD ServerGetInfo(
   [in] DWORD level,
   [out] LPBYTE* bufptr
 );

level: Specifies the information level of the data. This parameter can be one of the following values.

Value

Meaning

100

Return the machine name and platform information. The bufptr parameter points to a SERVER_INFO_100 structure.

101

Return the machine name, type, and associated software. The bufptr parameter points to a SERVER_INFO_101 structure.

bufptr: Pointer to the buffer that receives the data. The format of this data depends on the value of the level parameter.

Note When the 101 information level is requested, the machine is considered to be a domain controller (SV_TYPE_DOMAIN_CTRL or SV_TYPE_DOMAIN_BAKCTRL) when it supports the protocols required by the Active Directory Domain Service system (either with or without Web Services) as described in [MS-ADOD] section 2.8. Once it is established that the machine is a domain controller, it is considered to be a primary domain controller (SV_TYPE_DOMAIN_CTRL) if it is currently hosting the PdcEmulationMasterRole FSMO role (as specified in [MS-ADTS] section 3.1.1.1.11); otherwise it is considered to be a backup domain controller (SV_TYPE_DOMAIN_BAKCTRL). The machine determines whether it is hosting the PdcEmulationMasterRole by invoking the IsEffectiveRoleOwner function with the roleObject parameter set to RoleObject(Default NC, PdcEmulationMasterRole) (see [MS-ADTS] section 3.1.1.5.1.8). When the 101 information level is requested, and the machine is not considered to be a domain controller as specified above, then it is considered to be a workstation (SV_TYPE_WORKSTATION). Additional SV_TYPE_* values can be returned as appropriate.

Return Values: If the function succeeds, the return value is NERR_Success.

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

Return value/code

Description

0x00000005

ERROR_ACCESS_DENIED

The user does not have access to the requested information.

0x0000007C

ERROR_INVALID_LEVEL

The value specified for the level parameter is invalid.

0x00000057

ERROR_INVALID_PARAMETER

The specified parameter is invalid.

0x00000008

ERROR_NOT_ENOUGH_MEMORY

Sufficient memory is not available.