Directory Services

DS_REPL_OPW_BLOB

The DS_REPL_OPW_BLOB structure describes a replication task currently executing or pending execution. This structure is similar to the DS_REPL_OP structure, but is obtained from the Lightweight Directory Access Protocol API functions when obtaining binary data for the msDS-ReplPendingOps attribute.

typedef struct {
FILETIME ftimeEnqueued;
ULONG ulSerialNumber;
ULONG ulPriority;
DS_REPL_OP_TYPE OpType;
ULONG ulOptions;
DWORD oszNamingContext;
DWORD oszDsaDN;
DWORD oszDsaAddress;
UUID uuidNamingContextObjGuid;
UUID uuidDsaObjGuid; } DS_REPL_OPW_BLOB;

Members

ftimeEnqueued
Contains a FILETIME structure that contains the date and time that this operation was added to the queue.
ulSerialNumber
Contains the identifier of the operation. This value is unique within within a boot of a computer. When the computer is rebooted, the identifiers are no longer unique.
ulPriority
Contains the priority value of this operation. Tasks with a higher priority value are executed first. The priority is calculated by the server based on the type of operation and its parameters.
OpType
Contains one of the DS_REPL_OP_TYPE values that indicate the type of operation that this structure represents.
ulOptions
Zero or more bits, the interpretation of which depends on the OpType. For DS_REPL_OP_TYPE_SYNC, the bits should be interpreted as DS_REPSYNC_*. ADD, DELETE, MODIFY, and UPDATE_REFS use DS_REPADD_*, DS_REPDEL_*, DS_REPMOD_*, and DS_REPUPD_*. For more information, and descriptions of these bits, see DsReplicaSync, DsReplicaAdd, DsReplicaDel, DsReplicaModify, and DsReplicaUpdateRefs.

Contains a set of flags that provide additional data about the operation. The contents of this member is determined by the contents of the OpType member.

OpType value ulOptions description
DS_REPL_OP_TYPE_SYNC Contains zero or a combination of one or more of the DS_REPSYNC_* values as defined for the Options parameter in DsReplicaSync.
DS_REPL_OP_TYPE_ADD Contains zero or a combination of one or more of the DS_REPADD_* values as defined for the Options parameter in DsReplicaAdd.
DS_REPL_OP_TYPE_DELETE Contains zero or a combination of one or more of the DS_REPDEL_* values as defined for the Options parameter in DsReplicaDel.
DS_REPL_OP_TYPE_MODIFY Contains zero or a combination of one or more of the DS_REPMOD_* values as defined for the Options parameter in DsReplicaModify.
DS_REPL_OP_TYPE_UPDATE_REFS Contains zero or a combination of one or more of the DS_REPSUPD_* values as defined for the Options parameter in DsReplicaUpdateRefs.
oszNamingContext
Contains the offset, in bytes, from the address of this structure to a null-terminated string that contains the distinguished name of the naming context associated with this operation. For example, the naming context to be synchronized for DS_REPL_OP_TYPE_SYNC.
oszDsaDN
Contains the offset, in bytes, from the address of this structure to a null-terminated string that contains the distinguished name of the directory system agent object associated with the remote server corresponding to this operation. For example, the server from which to ask for changes for DS_REPL_OP_TYPE_SYNC. This can be NULL.
oszDsaAddress
Contains the offset, in bytes, from the address of this structure to a null-terminated string that contains the transport-specific network address of the remote server associated with this operation. For example, the DNS or SMTP address of the server from which to ask for changes for DS_REPL_OP_TYPE_SYNC. This can be NULL.
uuidNamingContextObjGuid
Contains the objectGuid of the naming context identified by pszNamingContext.
uuidDsaObjGuid
Contains the objectGuid of the directory system agent object identified by pszDsaDN.

Example Code [C++]

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

DS_REPL_OPW_BLOB *pReplOpwBlob;

// Retrieve the replication data into pReplOpwBlob.

LPWSTR pwszNamingContext = (LPWSTR)((LPBYTE)pReplOpwBlob + pReplOpwBlob->oszNamingContext);
LPWSTR pwszDsaAddress = (LPWSTR)((LPBYTE)pReplOpwBlob + pReplOpwBlob->oszDsaAddress);
LPWSTR pwszDsaDN = (LPWSTR)((LPBYTE)pReplOpwBlob + pReplOpwBlob->oszDsaDN);

Requirements

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

See Also

DS_REPL_OP, FILETIME, Lightweight Directory Access Protocol API