目录

AK::StreamMgr::IAkIOHookDeferred类参考

继承图,类AK::StreamMgr::IAkIOHookDeferred
AK::StreamMgr::IAkLowLevelIOHook

所有成员的列表。

公有成员

virtual AKRESULT  Read (AkFileDesc &in_fileDesc, const AkIoHeuristics &in_heuristics, AkAsyncIOTransferInfo &io_transferInfo)=0
virtual AKRESULT  Write (AkFileDesc &in_fileDesc, const AkIoHeuristics &in_heuristics, AkAsyncIOTransferInfo &io_transferInfo)=0
virtual void  Cancel (AkFileDesc &in_fileDesc, AkAsyncIOTransferInfo &io_transferInfo, bool &io_bCancelAllTransfersForThisFile)=0

保护成员

virtual  ~IAkIOHookDeferred ()
  Virtual destructor on interface to avoid warnings.

详细描述

Interface for deferred low-level I/O transfers. Used by streaming devices created with the AK_SCHEDULER_DEFERRED_LINED_UP flag. This I/O transfer handshaking method is preferred when you want to hook I/O to your own I/O streaming technology. You will receive up to AkDeviceSettings::uMaxConcurrentIO requests at the same time. You may queue them into your own system, and even use the heuristics passed down to this level for your convenience. Note that the requests are always sent in the order that the Stream Manager considers to be the most appropriate. You may receive less than AkDeviceSettings::uMaxConcurrentIO at any given time. The number of concurrent transfers depends on the number of streams running in the high-level streaming device, and on its target buffering length and granularity. Your advantage at this level is to be aware of file placement, so you may try to re-order requests in order to minimize seeking on disk. Calls to Read()/Write() should return as soon as possible. You need to call AkAsyncIOTransferInfo::pCallback as soon as a transfer is completed. Cancel() is provided in order to inform you that the streaming device will flush this transfer upon completion. You may implement it or not. In all cases, you must call the callback.

在文件AkStreamMgrModule.h290行定义。


该类的文档由以下文件生成: