RDNsInternal: Unused. MUST be 0 and ignored. refType: The type of referral. This field MUST be one of the following values. Value Meaning CH_REFTYPE_SUPERIOR 0x0000 A referral to a superior . CH_REFTYPE_SUBORDINATE 0x0001 A referral to a subordinate DC (for example, to a child ). CH_REFTYPE_NSSR 0x0002 Not in use. CH_REFTYPE_CROSS 0x0003 A referral to an external crossRef object. See section 6.1.1.2.1.1.1. count: The count of items in the pDAL linked list. pDAL: A list of network names of the DCs to which the referral is directed. pNextContRef: Null, or the next item in the linked list. bNewChoice: True if and only if a new choice is specified. choice: The choice to use in the continuation referral. This field MUST be one of the following values: Value Meaning SE_CHOICE_BASE_ONLY 0x00 A base search is to be performed. SE_CHOICE_IMMED_CHLDRN 0x01 A one-level search is to be performed. SE_CHOICE_WHOLE_SUBTREE 0x02 A subtree search is to be performed. SECERR_DRS_WIRE_V1 The SECERR_DRS_WIRE_V1 structure defines a security error. typedef struct { DWORD dsid; DWORD extendedErr; DWORD extendedData; USHORT problem; } SECERR_DRS_WIRE_V1; dsid: The implementation-specific diagnostic code. extendedErr: 0, , or . extendedData: The implementation-specific diagnostic code. problem: 0 or PROBLEM error code (section ).
The DRS_ERROR_DATA union defines the error responses that are received from the method. typedef [switch_type(DWORD)] union { [case(1)] DRS_ERROR_DATA_V1 V1; } DRS_ERROR_DATA; V1: Version 1 response. DRS_ERROR_DATA_V1 The DRS_ERROR_DATA_V1 structure defines the error response received from the method. typedef struct { DWORD dwRepError; DWORD errCode; [switch_is(errCode)] DIRERR_DRS_WIRE_V1* pErrInfo; } DRS_ERROR_DATA_V1; dwRepError: 0 or a . errCode: A DIRERR code (section ) that specifies the error category. pErrInfo: Category-specific error information. DIRERR Codes The DIRERR codes classify an error that occurs during a search for, or the of, a . Value and symbolic name Description 0x00000001 attributeError errors. 0x00000002 nameError Name resolution error. 0x00000003 referralError Referral. 0x00000004 securityError Security error. 0x00000005 serviceError Service error. 0x00000006 updError Update error. 0x00000007 systemError System error. PROBLEM Error Codes
The PROBLEM error codes describe the problems that can be reported by an operation. Value and symbolic name Description 0x0000000C ENOMEM Out of memory. 0x00000010 EBUSY Too busy to proceed. 0x00000016 EINVAL Invalid parameter. 0x0000001C ENOSPC Out of storage. 0x000007D1 NA_PROBLEM_NO_OBJECT not found in the . 0x000003E9 PR_PROBLEM_NO_ATTRIBUTE_OR_VAL or value not found. 0x000003EA PR_PROBLEM_INVALID_ATT_SYNTAX Invalid attribute syntax. 0x000003EB PR_PROBLEM_UNDEFINED_ATT_TYPE Unknown attribute type. 0x000003EC PR_PROBLEM_WRONG_MATCH_OPER Incorrect matching operation (only applies to match operators in filters). 0x000003ED PR_PROBLEM_CONSTRAINT_ATT_TYPE Attribute value violated a constraint. 0x000003EE PR_PROBLEM_ATT_OR_VALUE_EXISTS Attribute or value already exists (multiple values specified for a attribute OR duplicate value specified for a multi-valued attribute). 0x00000FA1 SE_PROBLEM_INAPPROPRIATE_AUTH Inappropriate method. 0x00000FA2 SE_PROBLEM_INVALID_CREDENTS Invalid user name or password. 0x00000FA3 SE_PROBLEM_INSUFF_ACCESS_RIGHTS Access denied. 0x00000FA4 SE_PROBLEM_INVALID_SIGNATURE Invalid signature. 0x00000FA5 SE_PROBLEM_PROTECTION_REQUIRED Encrypted connection required. 0x00000FA6 SE_PROBLEM_NO_INFORMATION Insufficient permissions to generate a referral. 0x00001389 SV_PROBLEM_BUSY service is busy.
0x0000138A SV_PROBLEM_UNAVAILABLE Directory service is unavailable. 0x0000138B SV_PROBLEM_WILL_NOT_PERFORM The requested operation will not be performed. 0x0000138C SV_PROBLEM_CHAINING_REQUIRED Chaining is required to perform the operation. 0x0000138D SV_PROBLEM_UNABLE_TO_PROCEED Directory service is unable to proceed with the requested operation. 0x0000138E SV_PROBLEM_INVALID_REFERENCE Invalid crossRef . 0x0000138F SV_PROBLEM_TIME_EXCEEDED Time limit exceeded while processing the operation. 0x00001390 SV_PROBLEM_ADMIN_LIMIT_EXCEEDED Administrative limit exceeded while processing the operation. 0x00001391 SV_PROBLEM_LOOP_DETECTED Not in use. 0x00001392 SV_PROBLEM_UNAVAIL_EXTENSION The requested is not available. 0x00001393 SV_PROBLEM_OUT_OF_SCOPE Not in use. 0x00001394 SV_PROBLEM_DIR_ERROR Generic directory service error. 0x00001771 UP_PROBLEM_NAME_VIOLATION Naming violation. 0x00001772 UP_PROBLEM_OBJ_CLASS_VIOLATION violation. 0x00001773 UP_PROBLEM_CANT_ON_NON_LEAF The operation cannot be performed on an object with . 0x00001774 UP_PROBLEM_CANT_ON_RDN The operation cannot be performed on an attribute. 0x00001775 UP_PROBLEM_ENTRY_EXISTS Object already exists. 0x00001776 UP_PROBLEM_AFFECTS_MULT_DSAS The operation affects multiple . 0x00001777 UP_PROBLEM_CANT_MOD_OBJ_CLASS The attribute cannot be modified in this way.
} DRS_MSG_REVMEMB_REPLY_V1; errCode: 0 on success. On failure, this can be one of the following. Value Meaning STATUS_INSUFFICIENT_RESOURCES 0xC000009A Insufficient system resources exist to complete the request. STATUS_TOO_MANY_CONTEXT_IDS 0xC000015A The number of is greater than the number that can be returned to the caller. cDsNames: Count of items in the ppDsNames array. cSidHistory: Count of items in the ppSidHistory array. ppDsNames: The filtered group membership. This list contains the combined membership for all the names specified in ppDsNames field of the input structure. pAttributes: Properties of the returned groups. Values are chosen from SE_GROUP values. ppSidHistory: history of the returned groups. SE_GROUP Values of a security . Symbolic name Value SE_GROUP_MANDATORY 0x00000001 SE_GROUP_ENABLED_BY_DEFAULT 0x00000002 SE_GROUP_ENABLED 0x00000004 Method-Specific Abstract Types and Procedures Arc and ArcSet type Arc = [initial: DSName, final: DSName] type ArcSet = set of Arc Closure procedure Closure( vSet: set of DSName, aSet: ArcSet, v: DSName): set of DSName The Closure procedure returns the set of vertices that can be reached from vertex v in the directed graph that consists of vertex set vSet and arc set aSet. A vertex u can be reached from v if and only if there is a sequence v[0], v[1], ... , v[k], where v[0]=v, v[k]=u, and v[i] is in vSet and [initial:v[i-1], final:v[i]) is in aSet for i=1,2,...,k.
1> sAMAccountType: 536870912; 1> groupType: 0x80000004 = ( GROUP_TYPE_RESOURCE_GROUP | GROUP_TYPE_SECURITY_ENABLED ); 1> objectCategory: CN=Group, CN=Schema, CN=Configuration, DC=contoso, DC=com; Client Request DC2 invokes the method against DC1, with the following parameters ( to DC1 omitted): dwInVersion = 10 pmsgIn = Destination DSA objGuid: _GUID {6aad8f5a-07cc-403a-9696-9102fe1c320b} Source DSA Invocation ID: _GUID {c20bc312-4d35-4cc0-9903-b1073368af4a} usnvecFrom: usnHighObjUpdate : 29379 usnHighPropUpdate : 29379 pUpToDateVecDest : DSA Invoc ID: c20bc312-4d35-4cc0-9903-b1073368af4a, USN: 29379 Flags: DRS_ASYNC_OP DRS_WRIT_REP DRS_INIT_SYNC DRS_PER_SYNC Max objects to return: 535 Max bytes to return: 5357731 Extended operation: none Fsmo Info: 0 PrefixTableDest : ulMoreFlags: 0 Server Response Return code of 0 with the following values: pdwOutVersion= DRS_MSG_GETCHGREPLY_NATIVE_VERSION_NUMBER pmsgOut = uuidDsaObjSrc: _GUID {c20bc312-4d35-4cc0-9903-b1073368af4a} uuidInvocIdSrc: _GUID {c20bc312-4d35-4cc0-9903-b1073368af4a}
Index A Abstract types ( 50, 52) 444 446 436 436 437 437 437 60 66 439 439 42 58 67 439 440 55 440 441 441 442 442 455 ATTRVAL 444 455 442 446 442 442 461 461 461 B 461 461 C 42 590 461 462 462 60 462 462 Client-to-DC operations 45 46 46 47 58 179 Concrete types ( 50, 51) 442 446 463 463 58 69 507 D 59 436 463 44 464 465 465 465 465 179 180 72 465 465 466 466 469 405 405 65 65 66 64 64 64 86 84 119 115 139 139 140 140 138 271 271 156 155 176 176 177 178 178 174 171 172 172 173 174 168 167 275
496 496 496 496 497 23 497 497 498 498 H 498 I 554 404 63 83 101 111 114 138 152 154 159 166 168 263 270 274 321 323 334 354 357 362 366 370 375 378 380 388 388 393 400 433 428 553 553 37 60 498 443 443 68 22 499 499 499 500 499 500 500 501 501 501 501 502 503 K 504 504 L Language constructs ( 51, 52, 54) 504 504 LDAP_SERVER_DIRSYNC_OID LDAP search control 505 507 509 510 513 514 516 513 505 508 515 513 511 512 516 517 517 519 519 519 519 M 519 519 519 520 520 520 520 520 Messages 43 43 Methods ( 37, 61) 520 520 N 69 68 51 521 521
522 36 265 522 522 522 523 523 O 55 445 445 445 444 446 523 523 523 523 523 49 49 37 P 553 524 524 524 524 524 524 524 525 118 118 474 525 526 232 42 526 526 526 Prerequisites ( 42, 49) 67 436 58 580 182 526 526 527 527 527 51 R 527 527 482 527 35 37 36 68 41 528 528 528 529 529 529 530 530 530 531 531 533 533 536 537 214 160 539 539 539 539 540 S 540 541 541 541 541 70 Security 43 45 44 553 43 553 provider ( 44, 46) 43 46 47 44 38 541 60 43 541 541 46 47 44 45 542 42 542 49 446 446