AkDeviceID __cdecl AK::StreamMgr::CreateDevice ( const AkDeviceSettings in_settings,
IAkLowLevelIOHook *  in_pLowLevelHook  

Streaming device creation. Creates a high-level device, with specific settings. You need to provide the associated low-level I/O hook, implemented on your side.

The device ID. AK_INVALID_DEVICE_ID if there was an error and it could not be created.
  • This function is not thread-safe.
  • Use a blocking hook (IAkIOHookBlocking) with SCHEDULER_BLOCKING devices, and a deferred hook (IAkIOHookDeferred) with SCHEDULER_DEFERRED_LINED_UP devices (these flags are specified in the device settings (AkDeviceSettings). The pointer to IAkLowLevelIOHook is statically cast internally into one of these hooks. Implementing the wrong (or no) interface will result into a crash.
in_settings  Device settings.
in_pLowLevelHook  Associated low-level I/O hook. Pass either a IAkIOHookBlocking or a IAkIOHookDeferred interface, consistent with the type of the scheduler.