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 接口提供程序调用 NdisIfAllocateNetLuidIndex 函数来分配 NET_LUID 索引。 接口提供程序必须先分配NET_LUID索引,然后接口提供程序才能注册接口。
NdisIfAllocateNetLuidIndex 尝试分配本地计算机唯一的 24 位NET_LUID索引,并与 IfType 参数指定的接口类型相关联。 NDIS 记录永久性存储中的NET_LUID索引,以便即使在计算机重启后,索引也能与同一接口保持关联。 在接口提供程序调用 NdisIfFreeNetLuidIndex 函数释放索引之前,NDIS 不会将相同的NET_LUID索引分配给 NdisIfAllocateNetLuidIndex 的调用方。
若要从NET_LUID索引和接口类型生成 NET_LUID 值,接口提供程序调用 NDIS_MAKE_NET_LUID 宏。
接口提供程序必须存储它在持久性存储中分配的NET_LUID值。 例如,如果计算机电源丢失,提供程序应已将NET_LUID值存储在持久性存储中,以便以后可以调用 NdisIfFreeNetLuidIndex 以释放不再使用的任何索引。 此外,每当提供程序向 注册同一接口时,提供程序都应使用相同的NET_LUID值 NdisIfRegisterInterface 函数。
要求
要求 | 价值 |
---|---|
最低支持的客户端 | NDIS 6.0 及更高版本中受支持。 |
目标平台 | 桌面 |
标头 | ndis.h (包括 Ndis.h) |
库 | Ndis.lib |
IRQL | PASSIVE_LEVEL |
DDI 符合性规则 | Irql_Interfaces_Function(ndis) |