NdisIfAllocateNetLuidIndex 関数 (ndis.h)

NdisIfAllocateNetLuidIndex 関数は、NDIS ネットワーク インターフェイス プロバイダーのNET_LUIDインデックスを割り当てます。

構文

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

パラメーター

ifType

インデックスのインターネット割り当て番号機関 (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インデックスを記録します。 NDIS は、インターフェイス プロバイダーが NdisIfFreeNetLuidIndex 関数を呼び出してインデックスを解放するまで、NdisIfAllocateNetLuidIndex の今後の呼び出し元に同じNET_LUID インデックスを割り当てません。

NET_LUID インデックスとインターフェイス型から NET_LUID 値を作成するには、インターフェイス プロバイダーが NDIS_MAKE_NET_LUID マクロを呼び出します。

インターフェイス プロバイダーは、割り当てるNET_LUID値を永続ストレージに格納する必要があります。 たとえば、コンピューターの電源が失われた場合、プロバイダーは、後で NdisIfFreeNetLuidIndex を呼び出して、使用されなくなったインデックスを解放できるように、NET_LUID値を永続ストレージに格納する必要があります。 また、プロバイダーは、同じインターフェイスを に登録するたびに、同じNET_LUID値を使用する必要があります。 NdisIfRegisterInterface 関数。

要件

要件
サポートされている最小のクライアント NDIS 6.0 以降でサポートされています。
対象プラットフォーム デスクトップ
Header ndis.h (Ndis.h を含む)
Library Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 Irql_Interfaces_Function(ndis)

こちらもご覧ください

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface