次の方法で共有


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)

こちらもご覧ください

NDIS_GENERIC_OBJECT

NdisFreeGenericObject