4.1.10.2.2 DRS_MSG_GETCHGREQ_V3

The DRS_MSG_GETCHGREQ_V3 structure defines a portion of the request message that is sent to the IDL_DRSGetNCChanges method as part of SMTP replication ([MS-SRPL]). This is not a complete request message; it is embedded in DRS_MSG_GETCHGREQ_V4 and DRS_MSG_GETCHGREQ_V7.<26>

 typedef struct {
   UUID uuidDsaObjDest;
   UUID uuidInvocIdSrc;
   [ref] DSNAME* pNC;
   USN_VECTOR usnvecFrom;
   [unique] UPTODATE_VECTOR_V1_EXT* pUpToDateVecDestV1;
   [unique] PARTIAL_ATTR_VECTOR_V1_EXT* pPartialAttrVecDestV1;
   SCHEMA_PREFIX_TABLE PrefixTableDest;
   ULONG ulFlags;
   ULONG cMaxObjects;
   ULONG cMaxBytes;
   ULONG ulExtendedOp;
 } DRS_MSG_GETCHGREQ_V3;

uuidDsaObjDest: DSA GUID of the client DC.

uuidInvocIdSrc: Invocation ID of the server DC.

pNC: NC root of the replica to replicate or the FSMO role object for an extended operation.

usnvecFrom: Data that is used to correlate calls to IDL_DRSGetNCChanges.

pUpToDateVecDestV1: Stamp filter describing updates that the client has already applied.

pPartialAttrVecDestV1: A set of one or more attributes whose values are to be replicated to the client's partial replica.

PrefixTableDest: Prefix table with which to convert the ATTRTYP values in pPartialAttrVecDestV1 to OIDs.

ulFlags: A DRS_OPTIONS bit field.

cMaxObjects: An approximate cap on the number of objects to include in the reply.

cMaxBytes: An approximate cap on the number of bytes to include in the reply.

ulExtendedOp: 0 or an EXOP_REQ code (section 4.1.10.2.22).