KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION structure (ksmedia.h)
The KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION structure appends a buffer base address, a requested buffer size, and a notification count to a KSPROPERTY structure. This structure is used by the client to request allocation of the audio buffer via KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION.
Syntax
typedef struct {
KSPROPERTY Property;
PVOID BaseAddress;
ULONG RequestedBufferSize;
ULONG NotificationCount;
} KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION, *PKSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION;
Members
Property
A KSPROPERTY structure that the client initializes appropriately prior to calling KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION.
BaseAddress
Specifies the buffer base address. Unless the client specifies a base address, this parameter is set to NULL.
RequestedBufferSize
Specifies the buffer size in bytes. The driver returns the actual size of the allocated buffer in the KSRTAUDIO_BUFFER structure that it returns.
NotificationCount
Specifies the number of notifications per cycle of the cyclic buffer. Currently, the valid values are 1 or 2. A value of 1 results in notification to registered notification events at the end of the cyclic buffer. A value of 2 results in notifications at both the mid-point and the end of the cyclic buffer.
Remarks
The KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION request uses the KSRTAUDIO_BUFFER_PROPERTY_WITH_NOTIFICATION structure to describe the cyclic buffer that the client requests. The driver returns a KSRTAUDIO_BUFFER structure to describe the buffer actually allocated.
As with KSPROPERTY_RTAUDIO_BUFFER, the value that the client writes into the RequestedBufferSize member is not binding on the driver.
Using KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION facilitates event signaling as DMA progresses through the cyclic buffer. KSPROPERTY_RTAUDIO_REGISTER_NOTIFICATION_EVENT is used to register events to receive these notifications and KSPROPERTY_RTAUDIO_UNREGISTER_NOTIFICATION_EVENT is used to unregister events.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows Vista and later Windows operating systems. |
Header | ksmedia.h |
See also
KSPROPERTY_RTAUDIO_BUFFER_WITH_NOTIFICATION