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


Метод IPortClsNotifications::AllocNotificationBuffer (portcls.h)

Выделяет буфер указанного размера в указанном пуле памяти для использования при отправке уведомлений, чтобы обеспечить обмен данными между звуковыми модулями и приложениями UWP.

Дополнительные сведения об звуковых модулях см. в реализацииобнаружения звуковых модулей.

Синтаксис

NTSTATUS AllocNotificationBuffer(
  [in]  POOL_TYPE              PoolType,
  [in]  USHORT                 NumberOfBytes,
  [out] PPCNOTIFICATION_BUFFER *NotificationBuffer
);

Параметры

[in] PoolType

Указывает тип пула памяти, из которого должен быть выделен объект (см. POOL_TYPE). Рекомендуемые значения: NonPagedPoolNx или PagedPool. Выбор типа пула памяти также зависит от уровня IRQL. Если в DISPATCH_LEVEL память должна быть нестраничной.

[in] NumberOfBytes

Количество байтов для выделения.

[out] NotificationBuffer

Указатель на PCNOTIFICATION_BUFFER который метод записывает адрес выделенного уведомления.

Возвращаемое значение

STATUS_SUCCESS — драйвер смог выделить буфер уведомлений.

STATUS_INVALID_PARAMETER . Драйвер возвращает эту ошибку, если он находит любой другой недопустимый параметр, помимо конкретных случаев для других экземпляров состояния ошибки.

Могут быть возвращены дополнительные стандартные коды состояния. Например, STATUS_INSUFFICIENT_RESOURCES будет возвращено, если невозможно выделить необходимый буфер.

Замечания

Вызывающие AllocNotificationBuffer должны работать в IRQL <= DISPATCH_LEVEL. Если модуль записи драйверов вызывает эту подпрограмму в IRQL = DISPATCH_LEVEL, структура notificationStructure должна быть выделена из непагаченной памяти.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Доступно в Windows 10 версии 1703 и более поздних версиях Windows.
целевая платформа Всеобщий
заголовка portcls.h (include Portcls.h)
библиотеки Portcls.lib
IRQL <= DISPATCH_LEVEL (см. раздел "Примечания")

См. также

IPortClsNotifications