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) |
関連項目
NdisFreeGenericObject の