Table of Contents

◆ AkBatchIOCallback

typedef void( * AkBatchIOCallback) (AkUInt32 in_uNumTransfers, AkAsyncIOTransferInfo **in_ppTransferInfo, AKRESULT *in_peResult)

Callback function prototype definition used for asynchronous I/O transfers between the Stream Manager and the Low-Level IO. Used with batch deferred I/O hooks. Notes:

  • in_peResult and in_ppTransferInfo must both contain in_uNumTransfers number of elements
  • For each in_peResult with a value of AK_Fail, all streams awaiting for the corresponding transfer are marked as invalid and will stop. An "IO error" notification is posted to the capture log.
  • If a given transfer was cancelled by the Stream Manager while it was in the Low-Level IO, you must return AK_Success for that result, whether you performed the operation or not. The Stream Manager knows that it was cancelled, so it will not try to use it after you call it back.
  • Note that one call to BatchRead, BatchWrite or BatchCancel does not have to result in one execution of the callback. The only requirement is that each element of in_ppTransferInfo passed in only has the IOCallback fired on it one time.
    See also
  • AkAsyncIOTransferInfo
  • AK::StreamMgr::IAkIOHookDeferredBatch

Definition at line 142 of file AkStreamMgrModule.h.