CoNDIS 微型端口驱动程序 OID 请求

NDIS 调用 CoNDIS 微型端口驱动程序的 MiniportCoOidRequest 函数,以提交 OID 请求以查询或设置驱动程序中的信息。 NDIS 可自行调用 MiniportCoOidRequest ,也可以代表调用调用 NdisCoOidRequest 函数的过度驱动程序。

NDIS 向 MiniportCoOidRequest 传递指向包含请求信息的 NDIS_OID_REQUEST 结构的指针。 请求结构包含一个 OID_Xxx 标识符,该标识符指示请求的类型以及用于定义请求数据的其他成员。

Timeout 成员为请求指定超时(以秒为单位)。 如果超时在驱动程序完成请求之前过期,NDIS 可以重置驱动程序或取消请求。

RequestId 成员指定请求的可选标识符。 微型端口驱动程序可以将状态指示的 RequestId 成员设置为驱动程序从关联 OID 请求的 RequestId 成员获取的值。 通常,微型端口驱动程序可以忽略此成员。 如果驱动程序必须设置此成员,则驱动程序必须使用在特定 OID 的引用页中指定的必需值之一。 有关状态指示的详细信息,请参阅 CoNDIS 微型端口驱动程序状态指示

微型端口驱动程序可以通过返回成功或失败状态同步完成 OID 请求。 驱动程序可以通过返回NDIS_STATUS_PENDING异步完成 OID 请求。 在这种情况下,驱动程序必须调用 NdisMCoOidRequestComplete 函数才能完成操作。

如果 MiniportCoOidRequest 函数返回NDIS_STATUS_PENDING,则在挂起的请求完成之前,NDIS 可以使用适配器的另一个请求调用 MiniportCoOidRequest 。 应注意,这与序列化所有 OID 请求的无连接 NDIS 接口不同。

NDIS 可以调用微型端口驱动程序的 MiniportCancelOidRequest 函数来取消 CoNDIS OID 请求。