NdisMGetDeviceProperty 函数 (ndis.h)

NdisMGetDeviceProperty 函数检索通过总线驱动程序与微型端口驱动程序设置通信所需的设备对象。

语法

void NdisMGetDeviceProperty(
  [in]            NDIS_HANDLE       MiniportAdapterHandle,
  [out, optional] PDEVICE_OBJECT    *PhysicalDeviceObject,
  [out, optional] PDEVICE_OBJECT    *FunctionalDeviceObject,
  [out, optional] PDEVICE_OBJECT    *NextDeviceObject,
  [out, optional] PCM_RESOURCE_LIST *AllocatedResources,
  [out, optional] PCM_RESOURCE_LIST *AllocatedResourcesTranslated
);

参数

[in] MiniportAdapterHandle

标识微型端口适配器的 NDIS 句柄。 此句柄最初传递给 MiniportInitializeEx 函数。

[out, optional] PhysicalDeviceObject

指向调用方分配的缓冲区的指针。 缓冲区接收指向 DEVICE_OBJECT 结构的指针,该结构表示微型端口适配器的物理设备。 此指针是可选的。

[out, optional] FunctionalDeviceObject

指向调用方分配的缓冲区的指针。 缓冲区接收指向 DEVICE_OBJECT 结构的指针。 DEVICE_OBJECT 表示 NDIS 为物理设备创建的功能设备对象。 此指针是可选的。

[out, optional] NextDeviceObject

指向调用方分配的缓冲区的指针。 缓冲区接收指向表示下一个设备对象的 DEVICE_OBJECT 结构的指针。 此下一个设备对象在链中的前面是属于微型端口驱动程序的功能设备对象。 NDIS 为物理设备创建此功能设备对象。 例如,下一个设备对象可以是与总线驱动程序或 HAL 关联的对象。此指针是可选的。

[out, optional] AllocatedResources

指向调用方分配的缓冲区的指针,该缓冲区接收指向CM_RESOURCE_LIST结构的指针。 CM_RESOURCE_LIST描述 PnP 管理器分配给物理设备的硬件资源列表。 此列表包含原始形式的资源,即不是由 HAL 翻译的资源。 此指针是可选的。

[out, optional] AllocatedResourcesTranslated

指向调用方分配的缓冲区的指针,该缓冲区接收指向CM_RESOURCE_LIST结构的指针。 CM_RESOURCE_LIST描述 PnP 管理器分配给物理设备的硬件资源列表。 此列表包含已翻译形式的资源,即 HAL 翻译的资源。 此指针是可选的。

返回值

备注

微型端口驱动程序必须检索特定信息才能设置其通信。 通过总线驱动程序进行通信的微型端口实例的微型端口驱动程序使用 NdisMGetDeviceProperty 检索此信息。 例如,连接到通用串行总线的微型端口驱动程序实例 (USB) 或 IEEE 1394 总线,需要微型端口驱动程序在其上边缘公开标准 NDIS 微型端口驱动程序接口,并在其下边缘对特定总线使用类接口。 若要使用 USB 或 1394 类接口,微型端口驱动程序会) 创建并提交 I/O 请求数据包 (I/O 请求数据包。 微型端口驱动程序使用 NdisMGetDeviceProperty 检索的物理对象和下一设备对象将 IRP 提交到特定总线的类接口。 若要查找有关创建 IRP 并将其提交到总线驱动程序的详细信息,请参阅 处理 IRP

指向 NdisMGetDeviceProperty 检索的物理、功能和下一个设备对象的DEVICE_OBJECT指针只是微型端口驱动程序不透明的句柄。

微型端口驱动程序可以调用 NdisMGetDeviceProperty 来检索指向“原始”或“已翻译”资源的指针。 原始资源尚未由 HAL 翻译;已翻译的资源已翻译。 若要查找有关原始资源和已翻译资源的详细信息,请参阅 即插即用

要求

要求
最低受支持的客户端 在 NDIS 5.1、NDIS 6.0 及更高版本中受支持。 有关 NDIS 5.1 驱动程序,请参阅 NdisMGetDeviceProperty (NDIS 5.1) 。
目标平台 通用
标头 ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL
DDI 符合性规则 Irql_Miniport_Driver_Function (ndis)

另请参阅

DEVICE_OBJECT

MiniportInitializeEx