The DRS_MSG_FINISH_DEMOTIONREPLY_V1 structure defines the response message received from the IDL_DRSFinishDemotion method.

 typedef struct {
   DWORD dwOperationsDone;
   DWORD dwOpFailed;
   DWORD dwOpError;
 } DRS_MSG_FINISH_DEMOTIONREPLY_V1;

dwOperationsDone: The set of operations that were successfully performed. This can include the following values: DS_DEMOTE_ROLLBACK_DEMOTE, DS_DEMOTE_COMMIT_DEMOTE, DS_DEMOTE_DELETE_CSMETA, DS_DEMOTE_UNREGISTER_SCPS, DS_DEMOTE_UNREGISTER_SPNS. This MUST include any value from the input element DRS_MSG_FINISH_DEMOTIONREQ_V1.dwOperations whose corresponding operations (see pseudocode in section 4.1.7.3) succeeded.

dwOpFailed: The set of operations that failed during demotion. This can include the same values as the dwOperationsDone field. This MUST include any value from the input element DRS_MSG_FINISH_DEMOTIONREQ_V1.dwOperations whose corresponding operations (see pseudocode in section 4.1.7.3) failed.

dwOpError: The Win32 error code (as specified in [MS-ERREF] section 2.2) of the first failed operation (if any), from the following operations: DS_DEMOTE_ROLLBACK_DEMOTE, DS_DEMOTE_COMMIT_DEMOTE, DS_DEMOTE_DELETE_CSMETA, or DS_DEMOTE_UNREGISTER_SCPS.