Поделиться через


Функция 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 в некоторых API выделения ресурсов NDIS, для которых требуется дескриптор NDIS.

Драйверы NDIS должны вызывать функцию NdisFreeGenericObject, чтобы освободить универсальный объект, созданный с NdisAllocateGenericObject.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Поддерживается в NDIS 6.0 и более поздних версиях.
целевая платформа Всеобщий
заголовка ndis.h (include Ndis.h)
библиотеки Ndis.lib
IRQL <= DISPATCH_LEVEL
правил соответствия DDI Irql_Miscellaneous_Function(ndis), NdisAllocateGenericObject(ndis)

См. также

NDIS_GENERIC_OBJECT

NdisFreeGenericObject