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 (包括 Portcls.h)
Library Portcls.lib
IRQL <= DISPATCH_LEVEL (请参阅备注部分)

另请参阅

IPortClsNotifications