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) |
連結庫 | Portcls.lib |
IRQL | <= DISPATCH_LEVEL (請參閱一節) |