共用方式為


KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION

KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION 屬性會指定驅動程式配置的音訊資料迴圈緩衝區,並識別事件通知需求。

下表摘要說明此屬性的功能。

使用量摘要表格

Get 集合 目標 屬性描述元類型 屬性值類型

Pin

KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION

KSRTAUDIO_BUFFER

屬性描述元 (實例資料) 是由包含 KSPROPERTY 結構的KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION結構以及其他成員所組成。 用戶端會將其要求的緩衝區大小寫入結構中。 除非需要特定的基底位址,否則用戶端必須將基底位址指定為 Null

當您想要 DMA 驅動事件通知時,就會使用這個屬性。 根據 NotificationCount 成員,已註冊的事件會在結尾) 或兩次 (在中間 (發出訊號,而每個迴圈的結束) 透過迴圈緩衝區。 成功呼叫 KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION之後, 事件會使用 KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT 註冊。

(作業資料) 屬性值 是KSRTAUDIO_BUFFER類型的結構。 驅動程式會針對已配置迴圈緩衝區的實際緩衝區大小、基底位址和記憶體屏障旗標填滿此結構。

傳回值

KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION屬性要求會傳回STATUS_SUCCESS,表示它已順利完成。 否則,要求會傳回適當的失敗狀態碼。 下表顯示一些可能的失敗狀態碼。

狀態碼 意義

STATUS_UNSUCCESSFUL

無法配置具有指定之緩衝區屬性組合的迴圈緩衝區。

STATUS_INSUFFICIENT_RESOURCES

無法配置緩衝區的記憶體。

STATUS_DEVICE_NOT_READY

裝置未就緒。

備註

基底位址是迴圈緩衝區開頭的虛擬記憶體位址。 用戶端可以直接存取此位址的緩衝區。 緩衝區在虛擬記憶體中連續。 驅動程式會判斷緩衝區是否連續在實體記憶體中。

用戶端會將屬性描述元中的基底位址設定為 Null。 驅動程式會將屬性值中的基底位址設定為已配置音訊緩衝區的虛擬位址。

音訊硬體通常需要音訊緩衝區在範例界限上開始和結束,或符合其他類型的硬體相依對齊條件約束。 如果有足夠的記憶體可用,則緩衝區的實際大小是要求的大小四捨五入 (向上或向下) 到最接近的樣本或其他硬體限制界限。 否則,實際大小可以小於要求的大小。

如果KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION屬性要求成功,則屬性值是類型為 KSRTAUDIO_BUFFER 的結構,其中包含驅動程式配置的緩衝區的位址和大小。

關閉針腳會自動釋放透過此屬性配置的緩衝區。

規格需求

版本

可在 Windows Vista 和更新版本的 Windows 作業系統中使用。

標頭

Ksmedia.h

另請參閱

KSPROPERTY

KSRTAUDIO_BUFFER

KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION

KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT