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)

 

 

Send comments about this topic to Microsoft