4.1.7.1.2 DRS_MSG_FINISH_DEMOTIONREQ_V1

The DRS_MSG_FINISH_DEMOTIONREQ_V1 structure defines the request message sent to the IDL_DRSFinishDemotion method.

 typedef struct {
   DWORD dwOperations;
   UUID uuidHelperDest;
   [string] LPWSTR szScriptBase;
 } DRS_MSG_FINISH_DEMOTIONREQ_V1;

dwOperations: Zero or more of the following bit flags, which are presented in little-endian byte order.


0


1


2


3


4


5


6


7


8


9

1
0


1


2


3


4


5


6


7


8


9

2
0


1


2


3


4


5


6


7


8


9

3
0


1

X

X

X

U 2

U 1

D

C

R

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

X

F

X

X

X

X

X

X

X

X: Unused. MUST be zero and ignored.

R (DS_DEMOTE_ROLLBACK_DEMOTE, 0x00000001): Undo the effects of IDL_DRSInitDemotion. If present, any other flags present (except for DS_DEMOTE_OPT_FAIL_ON_UNKNOWN) are ignored.

C (DS_DEMOTE_COMMIT_DEMOTE, 0x00000002): Discontinue being a DC for the current DC instance by stopping all AD LDS protocols.

D (DS_DEMOTE_DELETE_CSMETA, 0x00000004): Delete the nTDSDSA object for this DC; see RemoveADLDSServer (section 4.1.7.2.1).

U1 (DS_DEMOTE_UNREGISTER_SCPS, 0x00000008): Delete any serviceConnectionPoint objects for this DC from AD DS; see RemoveADLDSSCP (section 4.1.7.2.2).

U2 (DS_DEMOTE_UNREGISTER_SPNS, 0x00000010): Delete any AD LDS SPNs from the object (in the external AD DS domain) that corresponds to the security principal that the AD LDS service is running as; see RemoveADLDSSPNs (section 4.1.7.2.3).

F (DS_DEMOTE_OPT_FAIL_ON_UNKNOWN_OP, 0x80000000): If this flag is present, then the request fails.

uuidHelperDest: Unused. Must be NULL GUID and ignored.

szScriptBase: The path name of the folder in which to store SPN unregistration scripts. Required when DS_DEMOTE_UNREGISTER_SPNS is specified in dwOperations.