次の方法で共有


NdisAllocateGenericObject 関数 (ndis.h)

NDIS ハンドルを持たないコンポーネントは、NdisAllocateGenericObject 関数を使用して、汎用 NDIS オブジェクトを割り当てます。

構文

PNDIS_GENERIC_OBJECT NdisAllocateGenericObject(
  [optional] PDRIVER_OBJECT DriverObject,
             ULONG          Tag,
             USHORT         Size
);

パラメーター

[optional] DriverObject

ジェネリック オブジェクトに関連付けるドライバー オブジェクト。 このパラメーターは NULL できます。

Tag

NDIS が汎用オブジェクトのメモリを割り当てるために使用する必要があるカーネル メモリ タグ。

Size

呼び出し元用に予約するメモリの量 (バイト単位)。 これには、NDIS_GENERIC_OBJECT 構造体のサイズは含まれません。 独自の目的で追加のメモリ領域を使用します。 追加のメモリにアクセスするには、sizeof(NDIS_GENERIC_OBJECT) を使用してジェネリック オブジェクト構造をスキップします。

戻り値

NdisAllocateGenericObject は、割り当てたNDIS_GENERIC_OBJECTへのポインターを返します。 NDIS がオブジェクトを作成できなかった場合、戻り値は NULL

備考

NDIS は、汎用オブジェクトを使用して、それ以外の場合は NDIS ハンドルを持たないコンポーネントによって割り当てられているリソースを管理します。 このようなコンポーネントでは、NDIS ハンドルを必要とする一部の NDIS リソース割り当て API で、返されたジェネリック オブジェクト ポインターを NDIS ハンドルとして使用します。

NDIS ドライバーは、NdisFreeGenericObject 関数を呼び出して、NdisAllocateGenericObjectで作成された汎用オブジェクトを解放する必要があります。

必要条件

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

関連項目

NDIS_GENERIC_OBJECT

NdisFreeGenericObject