EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS コールバック関数 (acxelements.h)
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS コールバックはドライバーによって実装され、指定されたオーディオ エンジンに対して特定のデータ形式のバッファー サイズ制限が要求されたときに呼び出されます。
構文
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS EvtAcxAudioengineRetrieveBufferSizeLimits;
NTSTATUS EvtAcxAudioengineRetrieveBufferSizeLimits(
ACXAUDIOENGINE AudioEngine,
ACXDATAFORMAT Format,
PULONG MinBufferSizeInBytes,
PULONG MaxBufferSizeInBytes
)
{...}
パラメーター
AudioEngine
バッファー サイズの制限が要求された ACXAUDIOENGINE オブジェクト。 ACX オブジェクトの詳細については、ACX オブジェクトの概要を参照してください。
Format
コールバックがオーディオ エンジンがそれに対応できる最小バッファー サイズと最大バッファー サイズを決定する ACXDATAFORMAT。
MinBufferSizeInBytes
ハードウェア オーディオ エンジンが特定のデータ形式をサポートできるバッファーの最小サイズ (呼び出し時のインスタンス)。 バッファー サイズはバイト単位で指定されます。
MaxBufferSizeInBytes
ハードウェア オーディオ エンジンが特定のデータ形式をサポートできるバッファーの最大サイズ (呼び出し時のインスタンス)。 バッファー サイズはバイト単位で指定されます。
戻り値
呼び出しが成功した場合に STATUS_SUCCESS
を返します。 それ以外の場合は、適切なエラー コードが返されます。 詳細については、NTSTATUS 値 の使用に関するを参照してください。
備考
例
使用例を次に示します。
EVT_ACX_AUDIOENGINE_RETRIEVE_BUFFER_SIZE_LIMITS CodecR_EvtAcxAudioEngineRetrieveBufferSizeLimits;
NTSTATUS
CodecR_EvtAcxAudioEngineRetrieveBufferSizeLimits(
_In_ ACXAUDIOENGINE AudioEngine,
_In_ ACXDATAFORMAT DataFormat,
_Out_ PULONG MinBufferBytes,
_Out_ PULONG MaxBufferBytes
)
{
PAGED_CODE();
ULONG bytesPerSecond = AcxDataFormatGetAverageBytesPerSec(DataFormat);
*MinBufferBytes = (ULONG) (MIN_AUDIOENGINE_BUFFER_DURATION_IN_MS * bytesPerSecond / 1000);
*MaxBufferBytes = (ULONG) (MAX_AUDIOENGINE_BUFFER_DURATION_IN_MS * bytesPerSecond / 1000);
return STATUS_SUCCESS;
}
ACX の要件
最小 ACX バージョン: 1.0
ACX バージョンの詳細については、ACX バージョンの概要 参照してください。
必要条件
要件 | 価値 |
---|---|
ヘッダー | acxelements.h |
IRQL | PASSIVE_LEVEL |