バージョン

menu_open
Wwise SDK 2021.1.14
AK::StreamMgr::IAkIOHookDeferredBatch クラスabstract

#include <AkStreamMgrModule.h>

AK::StreamMgr::IAkIOHookDeferredBatch の継承関係図
AK::StreamMgr::IAkLowLevelIOHook AK::StreamMgr::IAkIOHookDeferred

クラス

struct   BatchIoTransferItem
 

公開メンバ関数

virtual AKRESULT  BatchRead (AkUInt32 in_uNumTransfers, BatchIoTransferItem *in_pTransferItems, AkBatchIOCallback in_pBatchIoCallback, AKRESULT *io_pDispatchResults)=0
 
virtual AKRESULT  BatchWrite (AkUInt32 in_uNumTransfers, BatchIoTransferItem *in_pTransferItems, AkBatchIOCallback in_pBatchIoCallback, AKRESULT *io_pDispatchResults)=0
 
virtual void  BatchCancel (AkUInt32 in_uNumTransfers, BatchIoTransferItem *in_pTransferItems, bool **io_ppbCancelAllTransfersForThisFile)=0
 
- 基底クラス AK::StreamMgr::IAkLowLevelIOHook に属する継承公開メンバ関数
virtual AKRESULT  Close (AkFileDesc &in_fileDesc)=0
 
virtual AkUInt32  GetBlockSize (AkFileDesc &in_fileDesc)=0
 
virtual void  GetDeviceDesc (AkDeviceDesc &out_deviceDesc)=0
 
virtual AkUInt32  GetDeviceData ()=0
 

限定公開メンバ関数

virtual  ~IAkIOHookDeferredBatch ()
  Virtual destructor on interface to avoid warnings. [詳解]
 
- 基底クラス AK::StreamMgr::IAkLowLevelIOHook に属する継承限定公開メンバ関数
virtual  ~IAkLowLevelIOHook ()
  Virtual destructor on interface to avoid warnings. [詳解]
 

詳解

Interface for batched 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, and you want to submit multiple I/O requests in one call, so as to allow for better opportunities for CPU and I/O performance. 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 BatchRead()/BatchWrite() should return as soon as possible. You need to call AkAsyncIOTransferInfo::pCallback for an individual item, or AkBatchIOCallback for a collection of items 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.h305 行目に定義があります。


このページはお役に立ちましたか?

サポートは必要ですか?

ご質問や問題、ご不明点はございますか?お気軽にお問い合わせください。

サポートページをご確認ください

あなたのプロジェクトについて教えてください。ご不明な点はありませんか。

プロジェクトを登録していただくことで、ご利用開始のサポートをいたします。

Wwiseからはじめよう