Функция NdisAllocateSharedMemory (ndis.h)
Функция NdisAllocateSharedMemory выделяет общую память у поставщика общей памяти.
Синтаксис
NDIS_STATUS NdisAllocateSharedMemory(
[in] NDIS_HANDLE NdisHandle,
[in] PNDIS_SHARED_MEMORY_PARAMETERS SharedMemoryParameters,
[in, out] PNDIS_HANDLE pAllocationHandle
);
Параметры
[in] NdisHandle
Драйвер NDIS или дескриптор экземпляра, полученный во время инициализации вызывающего объекта. Например, драйвер мини-порта может использовать дескриптор NDIS, полученный из Функция NdisMRegisterMiniportDriver или MiniportInitializeEx . Другие драйверы NDIS могут использовать дескрипторы из следующих функций:
[in] SharedMemoryParameters
Указатель на NDIS_SHARED_MEMORY_PARAMETERS структуру, которая определяет запрошенные атрибуты для общей памяти.
[in, out] pAllocationHandle
Указатель на расположение дескриптора, который идентифицирует выделенную общую память. Дескриптор доступен при возврате функции или имеет значение NULL в случае сбоя функции. Вызывающий объект должен использовать этот дескриптор для освобождения общей памяти, которая была успешно выделена.
Возвращаемое значение
NdisAllocateSharedMemory может возвращать следующие значения состояния:
Код возврата | Описание |
---|---|
|
Операция выполнена успешно. |
|
Операция завершилась сбоем из-за нехватки ресурсов для ее завершения. |
|
Операция завершилась сбоем из-за недопустимого входного параметра. |
|
Операция завершилась сбоем по неустановленным причинам. |
Комментарии
Параметр SharedMemoryParameters содержит указатель на NDIS_SHARED_MEMORY_PARAMETERS структуру, которая определяет запрошенные атрибуты для общей памяти. Если флаг NDIS_SHARED_MEM_PARAMETERS_CONTIGUOUS не задан в элементе Flags , общая память может быть указана в списке точечного сбора, который содержится в несмежной памяти.
NDIS вызывает функцию NetAllocateSharedMemory поставщика общей памяти из контекста вызова NdisAllocateSharedMemory.
Драйвер должен вызвать функцию NdisFreeSharedMemory , чтобы освободить общую память, которую он выделяет с помощью NdisAllocateSharedMemory.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.20 и более поздних версиях. |
Целевая платформа | Универсальное |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | PASSIVE_LEVEL |