public static IntPtr GetEventParameter(IntPtr eventRef, CarbonEventParameterName name, CarbonEventParameterType desiredType) { CarbonEventParameterType actualType; uint outSize = 0; IntPtr val = IntPtr.Zero; CheckReturn(GetEventParameter(eventRef, name, desiredType, out actualType, (uint)IntPtr.Size, ref outSize, ref val)); return(val); }
public static T GetEventParameter <T> (IntPtr eventRef, CarbonEventParameterName name, CarbonEventParameterType desiredType) where T : struct { int len = Marshal.SizeOf(typeof(T)); IntPtr bufferPtr = Marshal.AllocHGlobal(len); CheckReturn(GetEventParameter(eventRef, name, desiredType, 0, (uint)len, 0, bufferPtr)); T val = (T)Marshal.PtrToStructure(bufferPtr, typeof(T)); Marshal.FreeHGlobal(bufferPtr); return(val); }
static extern EventStatus GetEventParameter(IntPtr eventRef, CarbonEventParameterName name, CarbonEventParameterType desiredType, uint zero, uint size, uint zero2, IntPtr dataBuffer);
static extern EventStatus GetEventParameter(IntPtr eventRef, CarbonEventParameterName name, CarbonEventParameterType desiredType, out CarbonEventParameterType actualType, uint size, ref uint outSize, IntPtr dataBuffer);