微軟RNDIS協(xié)議書范本_第1頁
微軟RNDIS協(xié)議書范本_第2頁
微軟RNDIS協(xié)議書范本_第3頁
微軟RNDIS協(xié)議書范本_第4頁
微軟RNDIS協(xié)議書范本_第5頁
已閱讀5頁,還剩28頁未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

.

/

RemoteNDISSpecification

Rev1.1

August9,2002

?1998-2001MicrosoftCorporation.Allrightsreserved.

TOC\o"1-3"\h\z

1Introduction

.>ThehostmaysendREMOTE_NDIS_SET_MSGtothedeviceviathecontrolchannelatanytimethatthedeviceisintherndis-initializedorrndis-data-initializedstate.ARemoteNDISdevicewillrespondtoaREMOTE_NDIS_SET_MSGmessagewithastatus.

REMOTE_NDIS_SET_MSGFormat

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

7

:REMOTE_NDIS_SET_MSGMessage

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_SET_MSG=0x5.

4

4

MessageLength

SpecifiesthetotallengthofthisRemoteNDISmessageinbytes.

8

4

RequestId

SpecifiestheRemoteNDISmessageidvalue.Thisvalueisusedtomatchhostsentmessageswithdeviceresponses.

12

4

Oid

SpecifiestheNDISOIDthatidentifiestheparameterbeingset.

16

4

InformationBufferLength

Specifiesinbytesthelengthoftheinputdatafortherequest.

20

4

InformationBufferOffset

SpecifiesthebyteoffsetfromthebeginningoftheRequestIdfieldofthismessageatwhichinputdatafortherequestislocated.

24

4

DeviceVcHandle

Reservedforconnection-orienteddevices.Setto0.

ResponsetoREMOTE_NDIS_SET_MSG

ThedevicesendstheREMOTE_NDIS_SET_CMPLTmessagetothehostinresponsetoREMOTE_NDIS_SET_MSG.Thismessageisusedtorelaytheresultofsettingthevalueofadeviceoperationalparametertothehost.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

8

:REMOTE_NDIS_SET_CMPLT

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_SET_CMPLT=0x80000005.

4

4

MessageLength

SpecifiesthetotallengthofthisRemoteNDISmessageinbytes.<16>

8

4

RequestId

SpecifiestheRemoteNDISmessageidvalue.Thisvalueisusedtomatchhostsentmessageswithdeviceresponses.

12

4

Status

SpecifiesthestatusofprocessingtheOIDSetrequest.

SettingDevice-specificParameters

ItisexpectedthatmostRemoteNDISdeviceswillfunctionwellwithouttheneedtoconfigureparametersonthehost.However,theremaybecaseswherepropernetworkoperationrequiressomeconfigurationonthehost.Ifthedevicesupportsconfigurableparameters,thenitshouldincludethefollowingoptionalOIDinthelistofsupportedOIDsitreportsinresponsetoaqueryforOID_GEN_SUPPORTED_LIST:

OID_GEN_RNDIS_CONFIG_PARAMETER<0x0001021B>

IfthedevicesupportsthisOID,thehostusesittosetdevice-specificparameters,soonafterthedeviceenterstherndis_initializedstatefromrndis_uninitialized.ThehostwillsendzeroormoreREMOTE_NDIS_SET_MSGstothedevice,withOID_GEN_RNDIS_CONFIG_PARAMETERastheOIDvaluetoset.EachsuchREMOTE_NDIS_SET_MSGcorrespondstoonedevice-specificparameterthatisconfiguredonthehost.

TheInformationBufferassociatedwitheachsuchREMOTE_NDIS_SET_MSGhasthefollowingformat.NotethattheOffsetvaluesarerelativetothebeginningoftheinformationbuffer.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

9

:InformationBufferforOID_GEN_RNDIS_CONFIG_PARAMETER

Offset

Size

Field

Description

0

4

ParameterNameOffset

SpecifiesthebyteoffsetfromthebeginningoftheParameterNameOffsetfieldatwhichaUnicodecharacterstringrepresentingtheparameternameislocated.ThestringdoesnotincludeaNULLterminator.

4

4

ParameterNameLength

Specifiesthebytelengthoftheparameternamestring.

8

4

ParameterType

Specifiesthedatatypeoftheparametervalue.Thisisoneofthefollowing:0–numericvalue;2–stringvalue.

12

4

ParameterValueOffset

SpecifiesthebyteoffsetfromthebeginningoftheParameterNameOffsetfieldatwhichtheparametervalueislocated.

16

4

ParameterValueLength

Specifiesthebytelengthoftheparametervalue.

ThedevicesendsaREMOTE_NDIS_SET_CMPLTinresponsetoeachREMOTE_NDIS_SET_MSG,afterapplyingtheparametervalue.Iftheparametersettingisacceptable,itreturnsastatusofRNDIS_STATUS_SUCCESSintheresponse.Iftheparametersettingisnotacceptable,andthedevicecannotapplyausefuldefaultvalueforthisparameter,thenthedevicereturnsanappropriateerrorstatusvalue<see

REF_Ref501343708\h

Table22

>.Ifanerrorstatusisreturned,thenthehostwillinitiateaHaltprocess<seeSection3>forthedevice.

Device-specificparametersareexpectedtobeconfiguredintheWindowsregistry.Thekeysthatdefineparametervaluesaretypicallycreatedintheregistryduringtheprocessofdeviceinstallation;thelistofkeys,typeinformation,defaultvaluesandoptionalrangeofvalidvaluesarespecifiedintheINFfileforthedevice.FormoreinformationonusinganINFtosetupconfigurationparametersintheregistryfornetworkdevices,pleaseconsulttheWindows2000DDK.

REMOTE_NDIS_RESET_MSG

AREMOTE_NDIS_RESET_MSGmessageissenttoaRemoteNDISdevicefromahostviathecontrolchanneltosoft-resetthedeviceandreturnstatus.Thismessagemaybesentatanytimethatthedeviceisintherndis-initializedorrndis-data-initializedstate.ARemoteNDISdevicewillrespondtoaREMOTE_NDIS_RESET_MSGmessagewithastatus.

REMOTE_NDIS_RESET_MSGFormat

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

10

:REMOTE_NDIS_RESET_MSGMessage

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_RESET_MSG=0x6.

4

4

MessageLength

SpecifiesthetotallengthofthisRemoteNDISmessageinbytes.<12>

8

4

Reserved

Reserved.Setto0.

ResponsetoREMOTE_NDIS_RESET_MSG

WhenthedevicereceivesREMOTE_NDIS_RESET_MSG,itperformsasoft-resetandthensendsREMOTE_NDIS_RESET_CMPLTtothehostwiththeresultstatus.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

11

:REMOTE_NDIS_RESET_CMPLT

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_RESET_CMPLT=0x80000006.

4

4

MessageLength

SpecifiesthetotallengthofthisRemoteNDISmessageinbytes.<16>

8

4

Status

Specifiesthestatusofprocessingtheresetrequest.

12

4

AddressingReset

Indicatesifaddressinginformation<multicastaddresslist,packetfilter>hasbeenlostduringtheconcludedresetoperation.Ifthedeviceneedsthehosttoresendaddressinginformation,itsetsthisfieldto1;otherwiseitsetsthisfieldto0.

REMOTE_NDIS_INDICATE_STATUS_MSG

ThedevicemaysendREMOTE_NDIS_INDICATE_STATUS_MSGtothehostviathecontrolchannelinanunsolicitedfashionatanytimethatthedeviceisintherndis-initializedorrndis-data-initializedstate.Thismessageisusedtoindicateachangeinthestatusofthedevice.REMOTE_NDIS_INDICATE_STATUS_MSGcanalsobeusedtoindicateanerrorevent,suchasanunrecognizedmessage.

ThemostcommonuseofREMOTE_NDIS_INDICATE_STATUS_MSGistoindicatethestateoflinkforan802.3device.Status=RNDIS_STATUS_MEDIA_CONNECTindicatesatransitionfromdisconnected<e.g.no802.3linkpulse>toconnectedstate<802.3linkpulsedetected>;Status=RNDIS_STATUS_MEDIA_DISCONNECTindicatesatransitionfromconnectedtodisconnectedstate.ThedevicemustsendREMOTE_NDIS_INDICATE_STATUS_MSGwithoneofthesevalueseverytimethatthe802.3linkstatechanges.Nostatusbufferisrequiredtoreturnthesetwocommonindications.

Inthespecificcasewherethisissentinresponsetoamessagethatthedevicecouldnothandle,theStatusfieldmustbesettoRNDIS_STATUS_INVALID_DATA,andthestatusbufferisformattedasdescribedin

REF_Ref501343736\h

Table312

.

IftheerrorconditionwascausedbyanRemoteNDISmessage,forexampleifthedevicedidn’tunderstandaparticularRemoteNDISmessage,thenthedevicemustappendtheoriginalmessageattheendofthestatusmessagedefinedabove.Inthiscase,DiagStatuscontainsadditionalstatusabouttheerroritself<e.g.RNDIS_STATUS_NOT_SUPPORTED>andErrorOffsetisthe0-basedbyteoffsetwithintheoffendingmessageatwhichtheerrorwasdetected.

Notethatthismessageisusedtoreportanerrorconditiononlyincircumstanceswherethedeviceisnotabletogeneratearesponsemessagewithappropriatestatus.Examplesofappropriateusageare:<a>onreceivingamessagewithunsupportedmessagetype<b>onreceivinganREMOTE_NDIS_PACKET_MSGwithunacceptablecontents.

REMOTE_NDIS_INDICATE_STATUS_MSGFormat

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

12

:REMOTE_NDIS_INDICATE_STATUS_MSGMessage

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_INDICATE_STATUS

_MSG=0x7.

4

4

MessageLength

SpecifiesthetotallengthofthisRemoteNDISmessageinbytes.

8

4

Status

Specifiesthecurrentstatusofthehostrequest.

12

4

StatusBufferLength

Specifiesthelengthofthestatusdatainbytes.

16

4

StatusBufferOffset

SpecifiesthebyteoffsetfromthebeginningoftheStatusfieldatwhichtheRndis_Diagnostic_Infostatusdataforthedeviceindicationislocated.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

13

:Rndis_Diagnostic_Info

Offset

Size

Field

Description

0

4

DiagStatus

Containsadditionalstatusabouttheerroritself<e.g.RNDIS_STATUS_NOT_SUPPORTED>

4

4

ErrorOffset

Specifiesthe0-basedbyteoffsetwithintheoffendingmessageatwhichtheerrorwasdetected.

REMOTE_NDIS_KEEPALIVE_MSG

ThehostsendsREMOTE_NDIS_KEEPALIVE_MSGtothedeviceviathecontrolchannelinordertocheckthehealthofthedevice.Whenthedeviceisintherndis-data-initializedstate,thehostsendsthismessageperiodicallywhentherehasbeennoothercontrolordatatrafficfromthedevicetothehostfortheKeepAliveTimeoutPeriod.KeepAliveTimeoutPeriodisbus-dependentandisdefinedintheappropriatebus-mappingchapter.

Uponreceivingthismessage,theremotedevicemustsendbackaresponsewhoseStatusfieldindicateswhetherthedevicesolicitsaREMOTE_NDIS_RESET_MSGmessagefromthehost.

ThehostwillnotsendREMOTE_NDIS_KEEPALIVE_MSGuntiltheKeepAliveTimeoutPeriodhaselapsedsincethelastmessagereceivedfromtheremotedevice.ThisavoidsunnecessaryexchangeofREMOTE_NDIS_KEEPALIVE_MSGmessageswhenthecommunicationchannelisactive.

Thedevicemayoptionallysendthismessagetothehostaswell.Forexample,thedevicemayusethismessagetotriggeraresponsefromthehostforthepurposeofcomputinground-tripdelaytime.Ifimplemented,thedevicemustsendREMOTE_NDIS_KEEPALIVE_MSGviathecontrolchannelandonlywhenintherndis-initializedorrndis-data-initializedstate.

NOTE:ThedevicedoesnotneedtoperformanyspecificactionifitstopsseeingREMOTE_NDIS_KEEPALIVE_MSGmessagesfromthehost.

REMOTE_NDIS_KEEPALIVE_MSGFormat

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

14

:REMOTE_NDIS_KEEPALIVE_MSGMessage

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_KEEPALIVE_MSG=0x8.

4

4

MessageLength

SpecifiesthetotallengthofthisRemoteNDISmessageinbytes.<12>

8

4

RequestId

SpecifiestheRemoteNDISmessageidvalue.Thisvalueisusedtomatchhostsentmessageswithdeviceresponses.

ResponsetoREMOTE_NDIS_KEEPALIVE_MSG

ThedevicesendsREMOTE_NDIS_KEEPALIVE_CMPLTtothehostinresponsetoaREMOTE_NDIS_KEEPALIVE_MSG.IfthereturnedStatusisnotRNDIS_STATUS_SUCCESS,thenthehostwillsendREMOTE_NDIS_RESET_MSGtoresetthedevice.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

15

:REMOTE_NDIS_KEEPALIVE_CMPLT

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_KEEPALIVE_CMPLT=0x80000008.

4

4

MessageLength

SpecifiesthetotallengthofthisRemoteNDISmessageinbytes.<16>

8

4

RequestId

SpecifiestheRemoteNDISmessageidvalue.Thisvalueisusedtomatchhostsentmessageswithdeviceresponses.

12

4

Status

Specifiesthecurrentstatusofthedevice.IfthereturnedStatusisnotRNDIS_STATUS_SUCCESS,thenthehostwillsendREMOTE_NDIS_RESET_MSGtoresetthedevice.

IfthedeviceimplementstheoptionofsendingREMOTE_NDIS_KEEPALIVE_MSG,thenthehostwillrespondwithREMOTE_NDIS_KEEPALIVE_CMPLTviathecontrolchannel.

ExampleConnectionless<802.3>InitializationSequence

ThissectiondescribesthegeneralorderofeventsthatadevicecanexpectuponstartupasaRemoteNDISconnectionlessdevice.BecausethebasicoperationofRemoteNDISisthesame,regardlessoftheunderlyingbus,therequirebusenumerationandstartupprocesshasbeenleftoutoftheexample.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

16

:GenericConnectionlessRemoteNDISInitializationSequence

Host

Device

Description

REMOTE_NDIS_INITIALIZE_MSG

HostssendsRemoteNDISInitializationmessagetodevice

REMOTE_NDIS_INITIALIZE_CMPLT

DeviceresponsewithInitializeCompletemessage

Receivesuccessfulinitialization

Hoststartsacceptingdataonincomingdatachannel.<Example:onUSBstartsdoingreadsonINpipe>

REMOTE_NDIS_QUERY_MSG

and

REMOTE_NDIS_SET_MSG

REMOTE_NDIS_QUERY_CMPLT

or

REMOTE_NDIS_SET_CMPLT

Hostinitiatesaseriesofsetsandqueriestodeterminestateofdeviceandtosetupinitialparameters.Thedeviceresponsesappropriatelywiththecorrectcompletemessages.ThefollowingNDISOID’smaybequeried:OID_802_3_CURRENT_ADDRESS,OID_802_3_

MAXIMUM_LIST_SIZE,etc.

REMOTE_NDIS_SET_MSG

HostsendsanOID_GEN_CURRENT_PACKET

_FILTEROIDwithanon-zerofiltervaluetothedevice.Atthispointthedeviceshouldstartsendingdatapacketsontheincomingdatachannel.Thehostwillalsostartsendingdatapacketsontheoutgoingdatachannel.

Note:realworldoperationwillvarydependingonversionofWindowsandNDIS.

DataMessages<REMOTE_NDIS_PACKET_MSG>

ARemoteNDISdevicetransfersNDISpackets,encapsulatedasREMOTE_NDIS_PACKET_MSGacrossthedatachannel.REMOTE_NDIS_PACKET_MSGmaycontainoutofband<OOB>dataand/orper-packetinformation.

REMOTE_NDIS_PACKET_MSGFormat

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

17

:REMOTE_NDIS_PACKET_MSG

Offset

Size

Field

Description

0

4

MessageType

SpecifiestheRemoteNDISmessagetype.ThisissettoREMOTE_NDIS_PACKET_MSG=0x1.

4

4

MessageLength

Messagelengthinbytes,includingappendedpacketdata,out-of-banddata,per-packet-infodata,andbothinternalandexternalpadding.

8

4

DataOffset

SpecifiestheoffsetinbytesfromthestartoftheDataOffsetfieldofthismessagetothestartofthedata.Thisisanintegermultipleof4.

12

4

DataLength

Specifiesthenumberofbytesinthedatacontentofthismessage.

16

4

OOBDataOffset

SpecifiestheoffsetinbytesofthefirstoutofbanddatarecordfromthestartoftheDataOffsetfieldofthismessage.Setto0ifthereisnoout-of-banddata.Otherwisethisisanintegermultipleof4.

20

4

OOBDataLength

Specifiesinbytesthetotallengthoftheoutofbanddata.

24

4

NumOOBDataElements

Specifiesthenumberofoutofbandrecordsinthismessage.

28

4

PerPacketInfoOffset

SpecifiesinbytestheoffsetfromthebeginningoftheDataOffsetfieldintheREMOTE_NDIS_PACKET_MSGdatamessagetothestartofthefirstperpacketinfodatarecord.Setto0ifthereisnoper-packetdata.Otherwisethisisanintegermultipleof4.

32

4

PerPacketInfoLength

Specifiesinbytesthetotallengthoftheperpacketinformationcontainedinthismessage.

36

4

VcHandle

Reservedforconnection-orienteddevices.Setto0.

40

4

Reserved

Reserved.Setto0.

Out-of-banddata

EachREMOTE_NDIS_PACKET_MSGmaycontainoneormoreout-of-banddatarecords.NumOOBDataElementsindicatesthenumberofout-of-banddatarecordsinthismessage.Theout-of-banddatarecordsmustappearinsequence.TheOOBDataLengthfieldindicatesthebytelengthoftheentireout-of-banddatablock.TheOOBDataOffsetfieldindicatesthebyteoffsetfromthebeginningoftheDataOffsetfieldtothebeginningoftheout-of-banddatablock.SeetheNDISspecificationformoreinformationaboutout-of-bandpacketdata.

REF_Ref501343790\h

Table318

definestheformatofasingleout-of-banddatarecord.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

18

:OutofBandDataRecordFormat

Offset

Size

Field

Description

0

4

Size

Lengthinbytesofthisheaderandappendedoutofbanddataandpadding.Thisisanintegermultipleof4.

4

4

Type

Nonedefinedfor802.3devices.

8

4

ClassInformationOffset

Thebyteoffsetfromthebeginningofthisoutofbanddatarecordtothebeginningoftheoutofbanddata.

<n>

OOBData

OOBData,consultWindows2000DDKdocumentationformoreinformation.

Note:<N>isequaltothevalueofClassInformationOffset

Iftherearemultipleout-of-banddatablocksattachedtoaREMOTE_NDIS_PACKET_MSG,theneachsubsequentout-of-banddatarecordmustimmediatelyfollowthepreviousout-of-bandrecord’sdata.

Thereisnooutofbandinformationcurrentlydefinedfor802.3devices.

Per-packet-infoData

EachREMOTE_NDIS_PACKET_MSGmaycontainoneormoreper-packet-infodatarecords.Per-packet-infoisusedtoconveypacketmeta-datasuchasTCPchecksum.SeetheNDISspecificationformoreinformationaboutper-packetinfodata.

REF_Ref501343818\h

Table319

definestheformatofaper-packet-infodatarecord.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

19

:Per-PacketInfoDataRecordFormat

Offset

Size

Field

Description

0

4

Size

Lengthinbytesofthisheaderandappendedper-packetdataandpadding.Thisisanintegermultipleof4.

4

4

Type

SettooneofthelegalvaluesforNDIS_PER_PACKET_INFO_FROM_PACKET,asdescribedintheWindows2000DDK.

8

4

PerPacketInformationOffset

Thebyteoffsetfromthebeginningofthisper-packetinfodatarecordtothebeginningoftheper-packetinfodata.

<N>

Per-PacketData

Per-PacketData,consultWindows2000DDKdocumentationformoreinformation.

NOTE:<N>isequaltothevalueofPerPacketInformationOffset

Iftherearemultipleper-packet-infodatablocks,theneachsubsequentper-packet-infodatarecordmustimmediatelyfollowthepreviousper-packet-inforecord’sdata.

Multi-PacketTransfers

MultipleREMOTE_NDIS_PACKET_MSGmessagesmaybesentinasingletransfer,ineitherdirection.ThemaximumlengthofsuchatransferisgovernedbytheMaxTransferSizeparameterpassedintheREMOTE_NDIS_INITIALIZE_MSGandresponsemessages.ThehostwillalsolimitthenumberofREMOTE_NDIS_PACKET_MSGsitbundlesintoasingletransfertothevalueoftheMaxPacketsPerTransferparameterreturnedbythedeviceinitsresponsetoREMOTE_NDIS_INITIALIZE_MSG.

ConcatenatingmultipleREMOTE_NDIS_PACKET_MSGelementsformsamulti-packetmessage.EachindividualREMOTE_NDIS_PACKET_MSGcomponentisconstructedasdescribedabove.Thedifferencefromthesingle-packetmessagecaseisthattheMessageLengthfieldineachREMOTE_NDIS_PACKET_MSGheaderincludessomeadditionalpaddingbytes.ThesepaddingbytesareappendedtoallbutthelastREMOTE_NDIS_PACKET_MSGsuchthatthesucceedingREMOTE_NDIS_PACKET_MSGstartsatanappropriatebyteboundary.Formessagessentfromthedevicetothehost,thispaddingshouldresultineachREMOTE_NDIS_PACKET_MSGstartingatabyteoffsetthatisamultipleof8bytesstartingfromthebeginningofthemulti-packetmessage.Whenthehostsendsamulti-packetmessagetothedevice,itwilladheretothePacketAlignmentFactorspecifiedbythedevice.

Notethatneitherthecombinedlengthofamulti-packetmessagenorthenumberofREMOTE_NDIS_PACKET_MSGelementsinacombinedmessageisgivenexplicitlyinanyRemoteNDIS–definedfield.Thecombinedlengthisimplicitinthebus-specifictransfermechanism,andthehostordevicemustwalktheMessageLengthfieldsofthecombinedmessagetodeterminethenumberofcombinedmessages.

REF_Ref501343865\h

Table320

containsanexampleofamulti-packetmessagethatismadeupoftwoREMOTE_NDIS_PACKET_MSGs,sentfromthehosttothedevice.DuringtheREMOTE_NDIS_INITIALIZE_MSGexchange,thedevicerequestedaPacketAlignmentFactorof3<i.e.alignmentalongan8byteboundary>.

Table

STYLEREF1\s

3

SEQTable\*ARABIC\s1

20

:ExampleofMultipleREMOTE_NDIS_PACKET_MSGMessages

Offset

Size

Field

Value

0

4

MessageType

0x1

4

4

MessageLength

72<includes2paddingbytes;seebelow>

8

4

DataOffset

36

12

4

DataLength

26

16

4

OOBDataOffset

0

20

4

OOBDataLength

0

24

4

NumOOBDataElements

0

28

4

PerPacketInfoOffset

0

32

4

PerPacketInfoLength

0

36

4

VcHandle

0

40

4

Reserved

0

44

26

Payload<data>

Somenetworkdataof26bytesinlength

70

2

Padding

Doesn’tmatter–unused

72

4

MessageType<startofsecondREMOTE_NDIS_PACKET

_MSG>

0x1

76

4

MessageLength

60

80

4

DataOffset

36

84

4

DataLength

16

88

4

OOBDataOffset

0

92

4

OOBDataLength

0

96

4

NumOOBDataElements

0

100

4

PerPacketInfoOffset

0

104

4

PerPacketInfoLength

0

108

4

VcHandle

0

112

4

Reserved

0

116

16

Payload<data>

Somenetworkdataof16bytesinlength

RequiredNDISOIDs

ThissectionisthelistofoptionalandmandatoryNDISOIDsthatRemoteNDIS"Ethernet"devicescanormustsupport.ThelisttakesintoaccounttheuniquepropertiesofaRemoteNDISdevice,sothelistisnotidenticaltothelistthata"normal"NDISconnection-lessminiportwouldsupport.SomeOIDsarebothsetandqueryOIDs;ifamandatoryOIDisdefinedasboth,thenitmustbesupportedbyaRemoteNDISdeviceforbothREMOTE_NDIS_SET_MSGandREMOTE_NDIS_QUERY_MSG.ForadetailedexplanationoftheOIDs,pleaseconsulttheWindows2000DDK.

GeneralOIDs

Currentlythelistsarebrokendownintotwogroups,generalOIDand802.3specificOID.Additionallyeachgroupincludesasub-sectionofstatisticOIDqueries.

Table

STYLEREF1\s

4

SEQTable\*ARABIC\s1

1

:GeneralOIDs

Support

OID

Description

Mandatory

OID_GEN_SUPPORTED_LIST

ListofsupportedOIDs

Mandatory

OID_GEN_HARDWARE_STATUS

Hardwarestatus

Mandatory

OID_GEN_MEDIA_SUPPORTED

Mediatypessupported<encoded>

Mandatory

OID_GEN_MEDIA_IN_USE

Mediatypesinuse<encoded>

Mandatory

OID_GEN_MAXIMUM_FRAME

_SIZE

Maximumframesize,notincludingthe<Ethernet>header,inbytes.

Mandatory

OID_GEN_LINK_SPEED

Linkspeedinunitsof100bps

Mandatory

OID_GEN_TRANSMIT_BLOCK_SIZE

Minimumamountofstorage,inbytes,thatasinglepacketoccupiesinthetransmitbufferspaceoftheNIC

Mandatory

OID_GEN_RECEIVE_BLOCK_SIZE

Amountofstorage,inbytes,thatasinglepacketoccupiesinthereceivebufferspaceoftheNIC

Mandatory

OID_GEN_VENDOR_ID

VendorNICcode

Mandatory

OID_GEN_VENDOR_DESCRIPTION

Vendornetworkcarddescription

Optional

OID_GEN_VENDOR_DRIVER_VERSION

Vendor-assignedversionnumberofdriver

Mandatory

OID_GEN_CURRENT_PACKET_FILTER

Currentpacketfilter<encoded>

Mandatory

OID_GEN_MAXIMUM_TOTAL_SIZE

Maximumtotalpacketlengthinbytes

Mandatory

OID_GEN_MEDIA_CONNECT_STATUS

WhethertheNICisconnectedtothenetwork

Optional

OID_GEN_PHYSICAL_MEDIUM

Informationabouttheunderlyingphysicalmediumtype.

Optional

OID_GEN_RNDIS_CONFIG_PARAMETER

Device-specificconfigurationparameter<Setonly>

Table

STYLEREF1\s

4

SEQTable\*ARABIC\s1

2

:GeneralStatisticsOIDs

Support

OID

Description

Mandatory

OID_GEN_XMIT_OK

Framestransmittedwithouterrors

Mandatory

OID_GEN_RCV_OK

Framesreceivedwithouterrors

Mandatory

OID_GEN_XMIT_ERROR

Framesnottransmittedortransmittedwitherrors

Mandatory

OID_GEN_RCV_ERROR

Framesreceivedwitherrors

Mandatory

OID_GEN_RCV_NO_BUFFER

Framemissed,nobuffers

Optional

OID_GEN_DIRECTED_BYTES_XMIT

Directedbytestransmittedwithouterrors

Optional

OID_GEN_DIRECTED_FRAMES_XMIT

Directedframestransmittedwithouterrors

Optional

OID_GEN_MULTICAST_BYTES_XMIT

Multicastbytestransmittedwithouterrors

Optional

OID_GEN_MULTICAST_FRAMES_XMIT

Multicastframestransmittedwithouterrors

Optional

OID_GEN_BROADCAST_BYTES_XMIT

Broadcastbytestransmittedwithouterrors

Optional

OID_GEN_BROADCAST_FRAMES_XMIT

Broadcastframestransmittedwithouterrors

Optional

OID_GEN_DIRECTED_BYTES_RCV

Directedbytesreceivedwithouterrors

Optional

OID_GEN_DIRECTED_FRAMES_RCV

Directedframesreceivedwithouterrors

Optional

OID_GEN_MULTICAST_BYTES_RCV

Multicastbytesreceivedwithouterrors

Optional

OID_GEN_MULTICAST_FRAMES_RCV

Multicastframesreceivedwithouterrors

Optional

OID_GEN_BROADCAST_BYTES_RCV

Broadcastbytesreceivedwithouterrors

Optional

OID_GEN_BROADCAST_FRAMES_RCV

Broadcastframesreceivedwithouterrors

Optional

OID_GEN_RCV_CRC_ERROR

Framesreceivedwithcircularredundancycheck<CRC>orframechecksequence<FCS>error

Optional

OID_GEN_TRANSMIT_QUEUE_LENGTH

Lengthoftransmitqueue

802.3OIDs

Thefollowingtableslistthespecific802.3OIDsthatareapplicabletoRemoteNDISEthernetdevices.

Table

STYLEREF1\s

4

SEQTable\*ARABIC\s1

3

:802.3NDISOIDs

Support

OID

Description

Mandatory

OID_802_3_PERMANENT_ADDRESS

Permanentstationaddress

Mandatory

OID_802_3_CURRENT_ADDRESS

Currentstationaddress

Mandatory

OID_802_3_MULTICAST_LIST

Currentmulticastaddresslist

Optional

OID_802_3_MAC_OPTIONs

NICFlags,<encoded>

Mandatory

OID_802_3_MAXIMUM_LIST_SIZE

Maximumsizeofmulticastaddresslist

Table

STYLEREF1\s

4

SEQTable\*ARABIC\s1

4

:802.3StatisticsNDISOIDs

Support

OID

Description

Mandatory

OID_802_3_RCV_ERROR_ALIGNMENT

Framesreceivedwithalignmenterror

Mandatory

OID_802_3_XMIT_ONE_COLLISIONS

Framestransmittedwithonecollision

Mandatory

OID_802_3_MORE_COLLISIONS

Framestransmittedwithmorethenonecollision

Optional

OID_802_3_XMIT_DEFERRED

Framestransmittedafterdeferral

Optional

OID_802_3_XMIT_MAX_COLLISIONS

Framesnottransmittedduetocollisions

Optional

OID_802_3_RCV_OVERRUN

Framesnotreceivedduetooverrun

Optional

OID_802_3_XMIT_UNDERRUN

Framesnottransmittedduetounderrun

Optional

OID_802_3_XMIT_HEARTBEAT_FAILURE

Framestransmittedwithheartbeatfailure

Optional

OID_802_3_XMIT_TIMES_CRS_LOST

Timescarriersensesignallostduringtransmission

Optional

OID_802_3_XMIT_LATE_COLLISIONS

Latecollisionsdetected

OptionalPowerManagementOIDs

ForNDIStoconsideradevicepowermanagementaware,itmustrespondtothepowermanagementOIDs.Thesearelistedin

REF_Ref501343892\h

Table45

.Theyaremarkedasoptional,butifNDISdoesnotreceiveaNDIS_STATUS_SUCCESStoqueryofOID_PNP_CAPABILITIES,thenitwillconsiderthedeviceasnotbeingpowermanageable.NDISdecideswhethertoquerythisOIDbasedontheunderlyingbustechnologythattheRemoteNDISdeviceisconnected.Somebusesareinherentlypowermanageable,likeUSB,soitisexpectedthatthesetypesofRemoteNDISdeviceswi

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論