FMOD.CREATESOUNDEXINFO_INTERNAL.CreateFromExternal C# (CSharp) Method

CreateFromExternal() public static method

public static CreateFromExternal ( CREATESOUNDEXINFO &exinfoExt ) : CREATESOUNDEXINFO_INTERNAL
exinfoExt CREATESOUNDEXINFO
return CREATESOUNDEXINFO_INTERNAL
        public static CREATESOUNDEXINFO_INTERNAL CreateFromExternal(ref CREATESOUNDEXINFO exinfoExt)
        {
            CREATESOUNDEXINFO_INTERNAL exinfoInt = new CREATESOUNDEXINFO_INTERNAL();
            exinfoInt.cbsize = Marshal.SizeOf(typeof(CREATESOUNDEXINFO_INTERNAL));
            exinfoInt.length                = exinfoExt.length;
            exinfoInt.fileoffset            = exinfoExt.fileoffset;
            exinfoInt.numchannels           = exinfoExt.numchannels;
            exinfoInt.defaultfrequency      = exinfoExt.defaultfrequency;
            exinfoInt.format                = exinfoExt.format;
            exinfoInt.decodebuffersize      = exinfoExt.decodebuffersize;
            exinfoInt.initialsubsound       = exinfoExt.initialsubsound;
            exinfoInt.numsubsounds          = exinfoExt.numsubsounds;
            exinfoInt.inclusionlist         = exinfoExt.inclusionlist;
            exinfoInt.inclusionlistnum      = exinfoExt.inclusionlistnum;
            exinfoInt.pcmreadcallback       = exinfoExt.pcmreadcallback != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.pcmreadcallback) : IntPtr.Zero;
            exinfoInt.pcmsetposcallback     = exinfoExt.pcmsetposcallback != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.pcmsetposcallback) : IntPtr.Zero;
            exinfoInt.nonblockcallback      = exinfoExt.nonblockcallback != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.nonblockcallback) : IntPtr.Zero;
            exinfoInt.dlsname               = exinfoExt.dlsname;
            exinfoInt.encryptionkey         = exinfoExt.encryptionkey;
            exinfoInt.maxpolyphony          = exinfoExt.maxpolyphony;
            exinfoInt.userdata              = exinfoExt.userdata;
            exinfoInt.suggestedsoundtype    = exinfoExt.suggestedsoundtype;
            exinfoInt.fileuseropen          = exinfoExt.fileuseropen != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.fileuseropen) : IntPtr.Zero;
            exinfoInt.fileuserclose         = exinfoExt.fileuserclose != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.fileuserclose) : IntPtr.Zero;
            exinfoInt.fileuserread          = exinfoExt.fileuserread != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.fileuserread) : IntPtr.Zero;
            exinfoInt.fileuserseek          = exinfoExt.fileuserseek != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.fileuserseek) : IntPtr.Zero;
            exinfoInt.fileuserasyncread     = exinfoExt.fileuserasyncread != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.fileuserasyncread) : IntPtr.Zero;
            exinfoInt.fileuserasynccancel   = exinfoExt.fileuserasynccancel != null ? Marshal.GetFunctionPointerForDelegate(exinfoExt.fileuserasynccancel) : IntPtr.Zero;
            exinfoInt.fileuserdata          = exinfoExt.fileuserdata;
            exinfoInt.filebuffersize        = exinfoExt.filebuffersize;
            exinfoInt.channelorder          = exinfoExt.channelorder;
            exinfoInt.channelmask           = exinfoExt.channelmask;
            exinfoInt.initialsoundgroup     = exinfoExt.initialsoundgroup;
            exinfoInt.initialseekposition   = exinfoExt.initialseekposition;
            exinfoInt.initialseekpostype    = exinfoExt.initialseekpostype;
            exinfoInt.ignoresetfilesystem   = exinfoExt.ignoresetfilesystem;
            exinfoInt.audioqueuepolicy      = exinfoExt.audioqueuepolicy;
            exinfoInt.minmidigranularity    = exinfoExt.minmidigranularity;
            exinfoInt.nonblockthreadid      = exinfoExt.nonblockthreadid;
            exinfoInt.fsbguid               = exinfoExt.fsbguid;

            return exinfoInt;
        }