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 以降でサポートされています。 |
対象プラットフォーム | ユニバーサル |
Header | ndis.h (Ndis.h を含む) |
Library | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
DDI コンプライアンス規則 | Irql_Miscellaneous_Function(ndis)、 NdisAllocateGenericObject(ndis) |