[ros-dev] Loading failure of rtl8139.sys driver = OK+ Ndisfunctionunimplemented

Alex Ionescu ionucu at videotron.ca
Fri Oct 22 11:43:11 CEST 2004


Eric Kohl wrote:

>"Filip Navara" <xnavara at volny.cz> wrote:
>
>  
>
>>In fact I forgot to tell that this structure actually contains the
>>pointer to the DeviceObject you were talking about. I'm currently using
>>it just to get access to NDIS_MINIPORT_BLOCK which is located in the
>>DeviceExtension...
>>    
>>
>
>Okay, that's another sollution to the problem.
>
>
>  
>
>>Great! I thought about doing that too :-) I have made some changes to
>>the _DEVICE_NODE structure too, but it shouldn't be hard to sync.
>>    
>>
>
>Do you have an official definition of the _DEVICE_NODE structure? I am
>asking because I don't know whether I should keep the BusInformation
>component in _DEVICE_NODE or remove it. I am pretty sure we need the
>BusNumber and InterfaceType in _DEVICE_NODE but I am not sure about
>BusTypeGuid?
>
>  
>
Eric,

Here you go:

struct _DEVICE_NODE, 44 elements, 0x114 bytes
   +0x000 Sibling          : Ptr32 to struct _DEVICE_NODE, 44 elements, 
0x114 bytes
   +0x004 Child            : Ptr32 to struct _DEVICE_NODE, 44 elements, 
0x114 bytes
   +0x008 Parent           : Ptr32 to struct _DEVICE_NODE, 44 elements, 
0x114 bytes
   +0x00c LastChild        : Ptr32 to struct _DEVICE_NODE, 44 elements, 
0x114 bytes
   +0x010 Level            : Uint4B
   +0x014 Notify           : Ptr32 to struct _PO_DEVICE_NOTIFY, 10 
elements, 0x28 bytes
   +0x018 State            : Enum _PNP_DEVNODE_STATE,  22 total enums

   +0x01c PreviousState    : Enum _PNP_DEVNODE_STATE,  22 total enums

   +0x020 StateHistory     : [20] Enum _PNP_DEVNODE_STATE,  22 total enums

   +0x070 StateHistoryEntry : Uint4B
   +0x074 CompletionStatus : Int4B
   +0x078 PendingIrp       : Ptr32 to struct _IRP, 21 elements, 0x70 bytes
   +0x07c Flags            : Uint4B
   +0x080 UserFlags        : Uint4B
   +0x084 Problem          : Uint4B
   +0x088 PhysicalDeviceObject : Ptr32 to struct _DEVICE_OBJECT, 25 
elements, 0xb8 bytes
   +0x08c ResourceList     : Ptr32 to struct _CM_RESOURCE_LIST, 2 
elements, 0x24 bytes
   +0x090 ResourceListTranslated : Ptr32 to struct _CM_RESOURCE_LIST, 2 
elements, 0x24 bytes
   +0x094 InstancePath     : struct _UNICODE_STRING, 3 elements, 0x8 bytes
   +0x09c ServiceName      : struct _UNICODE_STRING, 3 elements, 0x8 bytes
   +0x0a4 DuplicatePDO     : Ptr32 to struct _DEVICE_OBJECT, 25 
elements, 0xb8 bytes
   +0x0a8 ResourceRequirements : Ptr32 to struct 
_IO_RESOURCE_REQUIREMENTS_LIST, 7 elements, 0x48 bytes
   +0x0ac InterfaceType    : Enum _INTERFACE_TYPE,  18 total enums

   +0x0b0 BusNumber        : Uint4B
   +0x0b4 ChildInterfaceType : Enum _INTERFACE_TYPE,  18 total enums

   +0x0b8 ChildBusNumber   : Uint4B
   +0x0bc ChildBusTypeIndex : Uint2B
   +0x0be RemovalPolicy    : UChar
   +0x0bf HardwareRemovalPolicy : UChar
   +0x0c0 TargetDeviceNotify : struct _LIST_ENTRY, 2 elements, 0x8 bytes
   +0x0c8 DeviceArbiterList : struct _LIST_ENTRY, 2 elements, 0x8 bytes
   +0x0d0 DeviceTranslatorList : struct _LIST_ENTRY, 2 elements, 0x8 bytes
   +0x0d8 NoTranslatorMask : Uint2B
   +0x0da QueryTranslatorMask : Uint2B
   +0x0dc NoArbiterMask    : Uint2B
   +0x0de QueryArbiterMask : Uint2B
   +0x0e0 OverUsed1        : union __unnamed, 2 elements, 0x4 bytes
   +0x0e4 OverUsed2        : union __unnamed, 1 elements, 0x4 bytes
   +0x0e8 BootResources    : Ptr32 to struct _CM_RESOURCE_LIST, 2 
elements, 0x24 bytes
   +0x0ec CapabilityFlags  : Uint4B
   +0x0f0 DockInfo         : struct __unnamed, 3 elements, 0x10 bytes
   +0x100 DisableableDepends : Uint4B
   +0x104 PendedSetInterfaceState : struct _LIST_ENTRY, 2 elements, 0x8 
bytes
   +0x10c LegacyBusListEntry : struct _LIST_ENTRY, 2 elements, 0x8 bytes

struct _PO_DEVICE_NOTIFY, 10 elements, 0x28 bytes
   +0x000 Link             : struct _LIST_ENTRY, 2 elements, 0x8 bytes
   +0x008 TargetDevice     : Ptr32 to struct _DEVICE_OBJECT, 25 
elements, 0xb8 bytes
   +0x00c WakeNeeded       : UChar
   +0x00d OrderLevel       : UChar
   +0x010 DeviceObject     : Ptr32 to struct _DEVICE_OBJECT, 25 
elements, 0xb8 bytes
   +0x014 Node             : Ptr32 to Void
   +0x018 DeviceName       : Ptr32 to Uint2B
   +0x01c DriverName       : Ptr32 to Uint2B
   +0x020 ChildCount       : Uint4B
   +0x024 ActiveChild      : Uint4B
  
Enum _PNP_DEVNODE_STATE,  22 total enums
   DeviceNodeUnspecified = 768
   DeviceNodeUninitialized = 769
   DeviceNodeInitialized = 770
   DeviceNodeDriversAdded = 771
   DeviceNodeResourcesAssigned = 772
   DeviceNodeStartPending = 773
   DeviceNodeStartCompletion = 774
   DeviceNodeStartPostWork = 775
   DeviceNodeStarted = 776
   DeviceNodeQueryStopped = 777
   DeviceNodeStopped = 778
   DeviceNodeRestartCompletion = 779
   DeviceNodeEnumeratePending = 780
   DeviceNodeEnumerateCompletion = 781
   DeviceNodeAwaitingQueuedDeletion = 782
   DeviceNodeAwaitingQueuedRemoval = 783
   DeviceNodeQueryRemoved = 784
   DeviceNodeRemovePendingCloses = 785
   DeviceNodeRemoved = 786
   DeviceNodeDeletePendingCloses = 787
   DeviceNodeDeleted = 788
   MaxDeviceNodeState = 789

struct _IO_RESOURCE_REQUIREMENTS_LIST, 7 elements, 0x48 bytes
   +0x000 ListSize         : Uint4B
   +0x004 InterfaceType    : Enum _INTERFACE_TYPE,  18 total enums
   +0x008 BusNumber        : Uint4B
   +0x00c SlotNumber       : Uint4B
   +0x010 Reserved         : [3] Uint4B
   +0x01c AlternativeLists : Uint4B
   +0x020 List             : [1] struct _IO_RESOURCE_LIST, 4 elements, 
0x28 bytes

  
I think IO_RESOURCE_LIST is already in the headers, same for 
CM_RESOURCE_LIST, if not, let me know.

Best regards,
Alex Ionescu
  

>>Ok. So far I had only the report from Gerard who told that it wasn't
>>enumerated. Now I've got access to a computer lab with 10 PCs with
>>RTL8193 so I might give it a try myself...
>>    
>>
>
>Ooops, I forgot to mention that one of my machines freezes while pci.sys
>enumerates devices on the pci bus. This has nothing to do with the RTL8139
>driver.
>
>
>Regards,
>Eric
>
>_______________________________________________
>Ros-dev mailing list
>Ros-dev at reactos.com
>http://reactos.com:8080/mailman/listinfo/ros-dev
>
>  
>



More information about the Ros-dev mailing list