2.2.1 Base Request Message

Each request message is a formatted sequence of bytes. All 32-bit values interpreted as unsigned integers MUST be encoded in little-endian format (for all messages).

The syntax of a request is represented by the following diagram.


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

MessageType

MessageSize

Message (variable)

...

MessageType (4 bytes): A 32-bit, unsigned integer that indicates the type of request message. The field MUST be one of the following values.

Value

Meaning

PASSWORD_UPDATE_MSG

0x00000000

Message is a PasswordUpdate request.

RESET_PWD_COUNT_MSG

0x00000001

Message is a ResetBadPwdCount request.

FWD_PASSWORD_UPDATE_MSG

0x00000002

Message is a PasswordUpdateForward request.<1>

FWD_LASTLOGON_TS_UPDATE_MSG

0x00000003

Message is a LastLogonTimeStampUpdatesForward request.

RESET_SMART_CARD_ONLY_PWD

0x00000004

Message is a ResetSmartCardAccountPassword request.

MessageSize (4 bytes): A 32-bit, unsigned integer that specifies the size of the Message field, in bytes.

Message (variable): A BLOB of data that constitutes a request message. This field MUST be MessageSize bytes long. The interpretation of the data in the Message field depends on the type of the request, which is indicated by the MessageType field. Message types are described in sections 2.2.2, 2.2.3, 2.2.4, and 2.2.7.