Функция 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 не задан в элементе Флаги, общая память может быть указана в списке точечного сбора, который содержится в неконтентной памяти.
NDIS вызывает функцию NetAllocateSharedMemory поставщика общей памяти из контекста вызова NdisAllocateSharedMemory.
Драйвер должен вызвать функцию NdisFreeSharedMemory, чтобы освободить общую память, выделенную NdisAllocateSharedMemory.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.20 и более поздних версиях. |
целевая платформа | Всеобщий |
заголовка | ndis.h (include Ndis.h) |
библиотеки | Ndis.lib |
IRQL | PASSIVE_LEVEL |