Directory Services

DS_REPL_ATTR_META_DATA_BLOB

The DS_REPL_ATTR_META_DATA_BLOB structure is used to contain replication state data for an object attribute. This structure is similar to the DS_REPL_ATTR_META_DATA_2 structure, but is obtained from the Lightweight Directory Access Protocol API functions when obtaining binary data for the msDS-ReplAttributeMetaData attribute.

typedef struct {
DWORD oszAttributeName;
DWORD dwVersion;
FILETIME ftimeLastOriginatingChange;
UUID uuidLastOriginatingDsaInvocationID;
USN usnOriginatingChange;
USN usnLocalChange;
DWORD oszLastOriginatingDsaDN; } DS_REPL_ATTR_META_DATA_BLOB;

Members

oszAttributeName
Contains the offset, in bytes, from the address of this structure to a null-terminated Unicode string that contains the LDAP display name of the attribute corresponding to this metadata.
dwVersion
Contains the version of this attribute. Each originating modification of the attribute increases this value by one. Replication of a modification does not affect the version.
ftimeLastOriginatingChange
Contains the time at which the last originating change was made to this attribute. Replication of the change does not affect this value.
uuidLastOriginatingDsaInvocationID
Contains the invocation identification of the server on which the last change was made to this attribute. Replication of the change does not affect this value.
usnOriginatingChange
Contains the update sequence number (USN) on the originating server at which the last change to this attribute was made. Replication of the change does not affect this value.
usnLocalChange
Contains the USN on the destination server (the server from which the DsReplicaGetInfo function retrieved the metadata) at which the last change to this attribute was applied. This value typically is different on all servers.
oszLastOriginatingDsaDN
Contains the offset, in bytes, from the address of this structure to a null-terminated Unicode string that contains the distinguished name of the directory system agent server that originated the last replication.

Example Code [C++]

The following code example shows how to access the strings in this structure using the offset members.

DS_REPL_ATTR_META_DATA_BLOB *pdsReplAttrMetaDataBlob;

// Retrieve the replication data into pdsReplAttrMetaDataBlob.

LPWSTR pwszAttributeName = (LPWSTR)((LPBYTE)pdsReplAttrMetaDataBlob + pdsReplAttrMetaDataBlob->oszAttributeName);
LPWSTR pwszLastOriginatingDsaDN = (LPWSTR)((LPBYTE)pdsReplAttrMetaDataBlob + pdsReplAttrMetaDataBlob->oszLastOriginatingDsaDN);

Requirements

Client: Included in Windows XP.
Server: Included in Windows Server 2003.
Header: Declared in Ntdsapi.h.

See Also

DS_REPL_ATTR_META_DATA_2, Lightweight Directory Access Protocol API