String GetStringProp(IntPtr id) { if (id == IntPtr.Zero) { return(null); } CFStringRef str; CoreMidiInterop.MIDIObjectGetStringProperty(Handle, id, out str); var cstr = CoreFoundationInterop.CFStringGetCStringPtr(str, CoreFoundationInterop.kCFStringEncodingUTF8); unsafe { if (cstr == IntPtr.Zero) { return(null); } byte *p = (byte *)cstr; int count = 0; for (byte *i = p; *i != 0; i++) { count++; } return(System.Text.Encoding.UTF8.GetString((byte *)cstr, count)); } }
public void Dispose() { CoreMidiInterop.MIDIClientDispose(Handle); if (name_string != IntPtr.Zero) { CoreFoundationInterop.CFRelease(name_string); } name_string = IntPtr.Zero; }
internal static CFStringRef ToCFStringRef(string s) { return(CoreFoundationInterop.CFStringCreateWithCString(IntPtr.Zero, s, CoreFoundationInterop.kCFStringEncodingUTF8)); }
public void Dispose() { CoreMidiInterop.MIDIClientDispose(Handle); CoreFoundationInterop.CFRelease(name_string); }