4.1.3.2 Server Behavior of the IDL_DRSBind Method
The server returns an error if puuidClientDsa^ is set to the NULL GUID. Otherwise, the server retains the UUID passed as puuidClientDsa^ and the DRS_EXTENSIONS_INT structure passed as pextClient^, and associates them with the RPC context handle, phDrs, in an implementation-specific manner.
The server sets ppextServer to a DRS_EXTENSIONS_INT structure whose dwReplEpoch and ConfigObjGUID fields are initialized as described in the previous section (Client Behavior When Sending the IDL_DRSBind Request (section 4.1.3.1)), and whose other fields describe the server.<13> The server associates the information in ppextServer with the RPC context handle, phDrs, in an implementation-specific manner and then returns a DRS_HANDLE as the referent of phDrs.
The following tables specify the capability assertions made by a server that sets bits in the DRS_EXTENSIONS_INT structure returned from IDL_DRSBind. Each row of a table gives a request version (including both dwInVersion and the InfoLevel of IDL_DRSDomainControllerInfo and the InfoType of IDL_DRSGetReplInfo) and the DRS_EXTENSIONS_INT bit or bits that the server sets to indicate support for that request. For instance, every server supports a version 1 request to IDL_DRSReplicaSync, but a server does not support a version 5 request to IDL_DRSGetNCChanges unless it has set both the DRS_EXT_GETCHGREQ_V5 and DRS_EXT_RESTORE_USN_OPTIMIZATION bits. For AD LDS, the IDL_DRSDomainControllerInfo method is disabled regardless of the InfoLevel set by the bits.
A server supports version 4 and version 7 requests to IDL_DRSGetNCChanges only via the SMTP replication transport (see [MS-SRPL]). These cases are noted in the relevant table. A server supports all other requests only via the RPC transport.
IDL_DRSReplicaSync
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
IDL_DRSGetNCChanges
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
4 |
SMTP replication transport |
5 |
DRS_EXT_GETCHGREQ_V5 DRS_EXT_RESTORE_USN_OPTIMIZATION |
7 |
SMTP replication transport |
8 |
DRS_EXT_GETCHGREQ_V8 DRS_EXT_RESTORE_USN_OPTIMIZATION |
10 |
DRS_EXT_GETCHGREQ_V10 DRS_EXT_RESTORE_USN_OPTIMIZATION |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
2 |
DRS_EXT_ASYNCREPL |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
2 |
DRS_EXT_MOVEREQ_V2 |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_REMOVEAPI |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_REMOVEAPI |
IDL_DRSDomainControllerInfo
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 InfoLevel = 0x1 |
DRS_EXT_DCINFO_V1 |
1 InfoLevel = 0x2 |
DRS_EXT_DCINFO_V2 |
1 InfoLevel = 0x3 |
DRS_EXT_LH_BETA2 |
1 InfoLevel = 0xffffffff |
DRS_EXT_DCINFO_VFFFFFFFF |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
2 |
DRS_EXT_ADDENTRY_V2 |
3 |
DRS_EXT_NONDOMAIN_NCS |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_KCC_EXECUTE |
IDL_DRSGetReplInfo
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
2 |
DRS_EXT_GETCHGREQ_V8 |
2 InfoType = [3..5] |
DRS_EXT_POST_BETA3 |
2 InfoType = 6 |
DRS_EXT_GETCHGREQ_V8 |
2 InfoType = [7..10] |
DRS_EXT_GETCHGREPLY_V6 |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_ADD_SID_HISTORY |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_GETMEMBERSHIPS2 |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_WHISTLER_BETA3 |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_WHISTLER_BETA3 |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_WHISTLER_BETA3 |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_ADAM |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_ADAM |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
DRS_EXT_ADAM |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |
Request version |
DRS_EXTENSIONS_INT bit(s) |
---|---|
1 |
- |