public bool StateAmsLock() { var ptr = Marshal.AllocHGlobal(Marshal.SizeOf(typeof(byte))); try { _radio.Check(_api.GetDemodulatorState(_radio.GetHandle(), _ddc2.Channel(), (uint)NativeDefinitions.DemodulatorState.G3XDDC_DEMODULATOR_STATE_AMS_LOCK, ptr, (uint)Marshal.SizeOf(typeof(byte)))); var res = Marshal.ReadByte(ptr); return(res != 0); } finally { Marshal.FreeHGlobal(ptr); } }