버전

menu_open
Wwise SDK 2023.1.3
AK::StreamMgr::IAkLowLevelIOHook 클래스 참조abstract

#include <AkStreamMgrModule.h>

클래스

struct  BatchIoTransferItem
 

Public 멤버 함수

virtual AKRESULT Close (AkFileDesc *in_pFileDesc)=0
 
virtual AkUInt32 GetBlockSize (AkFileDesc &in_fileDesc)=0
 
virtual void GetDeviceDesc (AkDeviceDesc &out_deviceDesc)=0
 
virtual AkUInt32 GetDeviceData ()=0
 
virtual void BatchOpen (AkUInt32 in_uNumFiles, AkAsyncFileOpenData **in_ppItems)=0
 
virtual void BatchRead (AkUInt32 in_uNumTransfers, BatchIoTransferItem *in_pTransferItems)=0
 
virtual void BatchWrite (AkUInt32 in_uNumTransfers, BatchIoTransferItem *in_pTransferItems)=0
 
virtual void BatchCancel (AkUInt32 in_uNumTransfers, BatchIoTransferItem *in_pTransferItems, bool **io_ppbCancelAllTransfersForThisFile)=0
 
virtual AKRESULT OutputSearchedPaths (AKRESULT in_result, const AkFileOpenData &in_FileOpen, AkOSChar *out_searchedPath, AkInt32 in_pathSize)
 This function is called to provide information when file related errors occur. The base paths known by this IO hook should be returned in out_searchedPath. 더 자세히 ...
 

Protected 멤버 함수

virtual ~IAkLowLevelIOHook ()
 Virtual destructor on interface to avoid warnings. 더 자세히 ...
 

상세한 설명

Interface for batched deferred low-level I/O transfers. 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. All operations in this interface will be happening in the device's own thread, separate from the main audio thread. Also, it is assumed that all operations are asynchronous although immediate resolution is also supported. 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 all individual items in a transfer batch. 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.h 파일의 244 번째 라인에서 정의되었습니다.


이 페이지가 도움이 되었나요?

지원이 필요하신가요?

질문이 있으신가요? 문제를 겪고 계신가요? 더 많은 정보가 필요하신가요? 저희에게 문의해주시면 도와드리겠습니다!

지원 페이지를 방문해 주세요

작업하는 프로젝트에 대해 알려주세요. 언제든지 도와드릴 준비가 되어 있습니다.

프로젝트를 등록하세요. 아무런 조건이나 의무 사항 없이 빠른 시작을 도와드리겠습니다.

Wwise를 시작해 보세요