NdisIfAllocateNetLuidIndex 函数 (ndis.h)

NdisIfAllocateNetLuidIndex 函数为 NDIS 网络接口提供程序分配NET_LUID索引。

语法

NDIS_STATUS NdisIfAllocateNetLuidIndex(
        NET_IFTYPE ifType,
  [out] PUINT32    pNetLuidIndex
);

参数

ifType

Internet 分配号码机构 (IANA) 索引的接口类型。 例如,IF_TYPE_ETHERNET_CSMACD (6) 是分配给任何类似以太网的接口的 IfType 的值。 有关接口类型的列表,请参阅 NDIS 接口类型

[out] pNetLuidIndex

指向调用方提供的NET_LUID索引变量 指针。 如果分配成功, NdisIfAllocateNetLuidIndex 会将此变量设置为分配的 24 位NET_LUID索引值。

返回值

NdisIfAllocateNetLuidIndex 返回以下值之一:

返回代码 说明
NDIS_STATUS_SUCCESS
操作已成功完成。
NDIS_STATUS_RESOURCES
由于资源不足,操作失败。

注解

NDIS 接口提供程序调用 NdisIfAllocateNetLuidIndex 函数来分配 NET_LUID 索引。 接口提供程序必须先分配NET_LUID索引,接口提供程序才能注册接口。

NdisIfAllocateNetLuidIndex 尝试分配本地计算机唯一且与 IfType 参数指定的接口类型关联的 24 位NET_LUID索引。 NDIS 将NET_LUID索引记录在永久性存储中,以便即使在计算机重启后,索引也能与同一接口保持关联。 在接口提供程序调用 NdisIfFreeNetLuidIndex 函数以释放索引之前,NDIS 不会向 NdisIfAllocateNetLuidIndex 的未来调用方分配相同的 NET_LUID 索引。

若要从 NET_LUID 索引和接口类型生成NET_LUID值,接口提供程序调用 NDIS_MAKE_NET_LUID 宏。

接口提供程序必须将其分配的NET_LUID值存储在永久性存储中。 例如,如果计算机电源丢失,提供程序应将NET_LUID值存储在持久存储中,以便以后可以调用 NdisIfFreeNetLuidIndex ,以释放不再使用的任何索引。 此外,每当提供程序向 注册相同的接口时,应使用相同的NET_LUID值 NdisIfRegisterInterface 函数。

要求

要求
最低受支持的客户端 在 NDIS 6.0 及更高版本中受支持。
目标平台 桌面
标头 ndis.h (包括 Ndis.h)
Library Ndis.lib
IRQL PASSIVE_LEVEL
DDI 符合性规则 Irql_Interfaces_Function (ndis)

另请参阅

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface