REMOTE_NDIS_INITIALIZE_CMPLT
The REMOTE_NDIS_INITIALIZE_CMPLT message is sent by the Remote NDIS device to the host in response to a REMOTE_NDIS_INITIALIZE_MSG message. In the REMOTE_NDIS_INITIALIZE_CMPLT message, the device reports its medium type, Remote NDIS version numbers, and its type (connectionless or connection-oriented or both).
Offset | Size | Field | Description |
---|---|---|---|
0 |
4 |
MessageType |
Specifies the type of message being sent. Set to 0x80000002. |
4 |
4 |
MessageLength |
Specifies in bytes the total length of this message, from the beginning of the message. |
8 |
4 |
RequestId |
Specifies the Remote NDIS message ID value. This value is used to match messages sent by the host with device responses. |
12 |
4 |
Status |
Specifies RNDIS_STATUS_SUCCESS if the device initialized successfully; otherwise, it specifies an error code that indicates the failure. |
16 |
4 |
MajorVersion |
Specifies the highest Remote NDIS major protocol version supported by the device. |
20 |
4 |
MinorVersion |
Specifies the highest Remote NDIS minor protocol version supported by the device. |
24 |
4 |
DeviceFlags |
Specifies the miniport driver type as either connectionless or connection-oriented. This value can be one of the following: RNDIS_DF_CONNECTIONLESS 0x00000001 RNDIS_DF_CONNECTION_ORIENTED 0x00000002 |
28 |
4 |
Medium |
Specifies the medium supported by the device. Set to RNDIS_MEDIUM_802_3 (0x00000000) |
32 |
4 |
MaxPacketsPerMessage |
Specifies the maximum number of Remote NDIS data messages that the device can handle in a single transfer to it. This value should be at least one. |
36 |
4 |
MaxTransferSize |
Specifies the maximum size in bytes of any single bus data transfer that the device expects to receive from the host. |
40 |
4 |
PacketAlignmentFactor |
Specifies the byte alignment that the device expects for each Remote NDIS message that is part of a multimessage transfer to it. This value is specified in powers of 2. For example, this value is set to three to indicate 8-byte alignment. This value has a maximum setting of seven, which specifies 128-byte alignment. |
44 |
4 |
AFListOffset |
Reserved for connection-oriented devices. Set value to zero. |
48 |
4 |
AFListSize |
Reserved for connection-oriented devices. Set value to zero. |
Remarks
The Status field should be set to RNDIS_STATUS_SUCCESS if the device initialized successfully; otherwise, it is set to an error code that indicates the failure. The device should return the highest Remote NDIS protocol version that it can support, in MajorVersion and MinorVersion--the combined version number should be less than or equal to the version number the host specified in the REMOTE_NDIS_INITIALIZE_MSG message.
The AFListSize and AFListOffset fields are relevant only for connection-oriented devices that include a call manager. Connectionless devices should set these fields to zero.
In this message, the Remote NDIS device indicates the following:
Highest Remote NDIS protocol version number that the device can support. The combined version number should be less than or equal to the version number that the host specifies in the REMOTE_NDIS_INITIALIZE_MSG message. This allows the device to fall back to a compatibility mode when the host implements a Remote NDIS protocol version that is lower than that supported by the device.
Maximum size in bytes of a single data transfer that the device expects to receive from the host. The device can specify the byte alignment it expects for each Remote NDIS message that is part of a multimessage transfer to it. This alignment value is specified in terms of powers of two. For example, this value is set to 3 to indicate 8-byte alignment.
Requirements
Version |
Available in Microsoft Windows XP and later versions of the Windows operating systems. Also available in Windows 2000 as redistributable binaries. |
Header |
Rndis.h (include Rndis.h) |