PFREE_DMA_BUFFER_WITH_NOTIFICATION callback function (hdaudio.h)
The FreeDmaBufferWithNotification
routine frees a DMA buffer that was previously allocated by a call to AllocateDmaBufferWithNotification.
The function pointer type for a FreeDmaBufferWithNotification routine is defined as follows.
Syntax
PFREE_DMA_BUFFER_WITH_NOTIFICATION PfreeDmaBufferWithNotification;
NTSTATUS PfreeDmaBufferWithNotification(
[in] PVOID _context,
[in] HANDLE Handle,
[in] PMDL BufferMdl,
[in] SIZE_T BufferSize
)
{...}
Parameters
[in] _context
Specifies the context value from the Context member of the HDAUDIO_BUS_INTERFACE_V2 structure.
[in] Handle
Handle that identifies the DMA engine. This handle value was obtained from a previous call to AllocateCaptureDmaEngine or AllocateRenderDmaEngine.
[in] BufferMdl
A pointer to the buffer MDL. This value was obtained from a previous call to AllocateDmaBufferWithNotification.
[in] BufferSize
The size of the buffer to be freed. This value was obtained from a previous call to AllocateDmaBufferWithNotification.
Return value
FreeDmaBufferWithNotification
returns STATUS_SUCCESS if the call succeeds. Otherwise, FreeDmaBufferWithNotification
returns an appropriate error code. The following table shows some of the possible return error codes.
Return code | Description |
---|---|
|
Indicates that the caller is running at an IRQL that is too high. |
|
Indicates that the handle parameter value is invalid. |
|
Indicates that the stream is not in the reset state or that no buffer is currently allocated for the DMA engine. |
Remarks
The FreeDmaBufferWithNotification
routine is used together with the AllocateDmaBufferWithNotification routine. These two routines are available only in the HDAUDIO_BUS_INTERFACE_V2 version of the HD Audio DDI.
Callers of FreeDmaBufferWithNotification must be running at IRQL PASSIVE_LEVEL.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Available in Windows Vista and later versions of Windows. |
Target Platform | Desktop |
Header | hdaudio.h (include Hdaudio.h) |
IRQL | PASSIVE_LEVEL |