[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