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 中提供。 |
目標平台 | Universal |
標頭 | portcls.h (包含 Portcls.h) |
程式庫 | Portcls.lib |
IRQL | <= DISPATCH_LEVEL (请参阅一节) |