s3eWwisePlayingID s3eWwiseSoundEnginePostEventWithID(s3eWwiseUniqueID in_eventID, s3eWwiseGameObjectID in_gameObjectID, uint32 flags)
{
    IwTrace(WWISE_VERBOSE, ("calling s3eWwise[14] func: s3eWwiseSoundEnginePostEventWithID"));

    if (!_extLoad())
        return S3E_WWISE_INVALID_PLAYING_ID;

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eWwisePlayingID ret = g_Ext.m_s3eWwiseSoundEnginePostEventWithID(in_eventID, in_gameObjectID, flags);

#ifdef LOADER_CALL_LOCK
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}
s3eWwisePlayingID s3eWwiseSoundEnginePostEventWithID(s3eWwiseUniqueID in_eventID, s3eWwiseGameObjectID in_gameObjectID, uint32 flags)
{
    IwTrace(WWISE_VERBOSE, ("calling s3eWwise[13] func: s3eWwiseSoundEnginePostEventWithID"));

    if (!_extLoad())
        return S3E_WWISE_INVALID_PLAYING_ID;

#ifdef __mips
    // For MIPs platform we do not have asm code for stack switching
    // implemented. So we make LoaderCallStart call manually to set GlobalLock
    s3eDeviceLoaderCallStart(S3E_TRUE, NULL);
#endif

    s3eWwisePlayingID ret = g_Ext.m_s3eWwiseSoundEnginePostEventWithID(in_eventID, in_gameObjectID, flags);

#ifdef __mips
    s3eDeviceLoaderCallDone(S3E_TRUE, NULL);
#endif

    return ret;
}