NDIS 和过度分配驱动程序发出OID_GEN_ISOLATION_PARAMETERS的对象标识符(OID)请求,以获取在 VM 网络适配器的端口上设置的多租户配置(隔离)参数。
尽管每个路由域在端口上单独配置,但此 OID 在单个查询中返回所有路由域的参数。
过度的驱动程序应在两个步骤中发出此 OID:
- Io 查询所需的缓冲区大小,发出 OID 查询,其中 大小标头成员NDIS_ISOLATION_PARAMETERS 结构的成员设置为 NDIS_SIZEOF_NDIS_ISOLATION_PARAMETERS_REVISION_1。 (请参阅下面的 NDIS_STATUS_INVALID_LENGTH。
- 使用所需大小的 InformationBuffer 发出 OID。
如果 OID 查询请求成功完成,则 NDIS_OID_REQUEST 结构的 InformationBuffer 成员包含指向缓冲区的指针。 此缓冲区包含以下数据,顺序如下:
一个或多个 NDIS_ROUTING_DOMAIN_ENTRY 结构,每个路由域都有一个结构
一个或多个 NDIS_ROUTING_DOMAIN_ISOLATION_ENTRY 结构,按路由域分组
在每个 NDIS_ROUTING_DOMAIN_ENTRY 结构中,FirstIsolationInfoEntryOffset 成员包含 OID 信息缓冲区开头的偏移量(即 InformationBufferNDIS_OID_REQUEST 结构成员指向的缓冲区的开头)到该路由域的第一个 NDIS_ROUTING_DOMAIN_ISOLATION_ENTRY。 NextIsolationInfoEntryOffset 中的偏移量 列表中最后一个结构的成员为零。
如果在 VM 网络适配器上未设置多租户配置参数,则网络适配器微型端口驱动程序将设置 DATA。QUERY_INFORMATION。bytesWrittenNDIS_OID_REQUEST 结构的成员为零,并返回 NDIS_STATUS_SUCCESS。 在本例中,DATA 中的数据。QUERY_INFORMATION。微型端口驱动程序不会修改 InformationBuffer 成员。
言论
返回状态代码
VM 网络适配器微型端口驱动程序为此 OID 请求返回以下状态代码之一:
| 状态代码 | 描述 |
|---|---|
NDIS_STATUS_SUCCESS |
OID 请求已成功完成。 |
NDIS_STATUS_INVALID_LENGTH |
信息缓冲区的长度太小,无法返回请求的信息。 VM 网络适配器微型端口驱动程序设置 数据。METHOD_INFORMATION。NDIS_OID_REQUEST 结构中的 BytesNeeded 成员,以字节为单位,以字节为单位。 |
NDIS_STATUS_FAILURE |
由于其他原因,请求失败。 |
要求
版本 |
NDIS 6.40 及更高版本中受支持。 |
页眉 |
Ntddndis.h (包括 Ndis.h) |