在WDM驱动中如何获得PCI卡的物理Slot号?
系统提供了一个函数 IoGetDeviceProperty() 来实现这个功能。该函数的声明如下:
NTSTATUS
IoGetDeviceProperty(
IN PDEVICE_OBJECT DeviceObject,
IN DEVICE_REGISTRY_PROPERTY DeviceObject,
IN DEVICE_REGISTRY_PROPERTY DeviceProperty,
IN ULONG BufferLength,
OUT PVOID BufferLength,
OUT PVOID PropertyBuffer,
OUT PULONG ResultLength
);
当参数 DeviceProperty = DevicePropertyUINumber 时取回的就是PCI卡的物理Slot号。示例如下:
ULONG ulUINumber;
IoGetDeviceProperty(
pdo,
DevicePropertyUINumber,
sizeof( ULONG ),
( PVOID ) &ulUINumber,
&ulLength );
pdo 参数可以在你的功能驱动的AddDevice例程中由BUS Driver传过来。
博客介绍了在WDM驱动中获取PCI卡物理Slot号的方法。系统提供了IoGetDeviceProperty()函数,当参数DeviceProperty = DevicePropertyUINumber时可取回该物理Slot号,并给出示例代码,同时说明pdo参数可在功能驱动的AddDevice例程中由BUS Driver传过来。
1604

被折叠的 条评论
为什么被折叠?



