Функция 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 (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | <= DISPATCH_LEVEL |
Правила соответствия DDI | Irql_Miscellaneous_Function(ndis), NdisAllocateGenericObject(ndis) |