次の方法で共有


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

必要条件

要件 価値
サポートされる最小クライアント NDIS 6.0 以降でサポートされています。
ターゲット プラットフォーム デスクトップ
ヘッダー ndis.h (Ndis.h を含む)
ライブラリ Ndis.lib
IRQL PASSIVE_LEVEL
DDI コンプライアンス規則 する Irql_Interfaces_Function(ndis)

関連項目

NDIS_MAKE_NET_LUID

NET_LUID

NdisIfFreeNetLuidIndex

NdisIfRegisterInterface