From: <an...@us...> - 2007-11-30 12:18:12
|
Revision: 1111 http://mp-plugins.svn.sourceforge.net/mp-plugins/?rev=1111&view=rev Author: and-81 Date: 2007-11-30 04:18:10 -0800 (Fri, 30 Nov 2007) Log Message: ----------- Modified Paths: -------------- trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionRemoteReceiver.cs trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/XBCDRC Receiver.cs Modified: trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionRemoteReceiver.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionRemoteReceiver.cs 2007-11-30 11:59:17 UTC (rev 1110) +++ trunk/plugins/IR Server Suite/IR Server Plugins/FusionRemote Receiver/FusionRemoteReceiver.cs 2007-11-30 12:18:10 UTC (rev 1111) @@ -109,25 +109,25 @@ FirstPipeInstance = 0x00080000 } - [StructLayout(LayoutKind.Sequential)] + [StructLayout(LayoutKind.Sequential, Pack = 1)] struct DeviceInfoData { public int Size; public Guid Class; - public uint DevInst; + public int DevInst; public IntPtr Reserved; } - [StructLayout(LayoutKind.Sequential)] + [StructLayout(LayoutKind.Sequential, Pack = 1)] struct DeviceInterfaceData { public int Size; public Guid Class; - public uint Flags; - public uint Reserved; + public int Flags; + public IntPtr Reserved; } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] struct DeviceInterfaceDetailData { public int Size; @@ -351,9 +351,8 @@ IntPtr handle = SetupDiGetClassDevs(ref classGuid, null, IntPtr.Zero, DIGCF_DEVICEINTERFACE | DIGCF_PRESENT); - //int lastError = Marshal.GetLastWin32Error(); - //if (lastError != 0) - //throw new Win32Exception(lastError); + if (handle.ToInt32() == -1) + return null; for (int deviceIndex = 0; ; deviceIndex++) { @@ -393,7 +392,10 @@ } DeviceInterfaceDetailData deviceInterfaceDetailData = new DeviceInterfaceDetailData(); - deviceInterfaceDetailData.Size = 5; + if (IntPtr.Size == 8) + deviceInterfaceDetailData.Size = 8; + else + deviceInterfaceDetailData.Size = 5; if (!SetupDiGetDeviceInterfaceDetail(handle, ref deviceInterfaceData, ref deviceInterfaceDetailData, cbData, IntPtr.Zero, IntPtr.Zero)) { Modified: trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/XBCDRC Receiver.cs =================================================================== --- trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/XBCDRC Receiver.cs 2007-11-30 11:59:17 UTC (rev 1110) +++ trunk/plugins/IR Server Suite/IR Server Plugins/XBCDRC Receiver/XBCDRC Receiver.cs 2007-11-30 12:18:10 UTC (rev 1111) @@ -79,29 +79,30 @@ FirstPipeInstance = 0x00080000, } - [StructLayout(LayoutKind.Sequential)] + [StructLayout(LayoutKind.Sequential, Pack = 1)] struct DeviceInfoData { public int Size; public Guid Class; - public uint DevInst; + public int DevInst; public IntPtr Reserved; } - [StructLayout(LayoutKind.Sequential)] + [StructLayout(LayoutKind.Sequential, Pack = 1)] struct DeviceInterfaceData { public int Size; public Guid Class; - public uint Flags; - public uint Reserved; + public int Flags; + public IntPtr Reserved; } - [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi)] + [StructLayout(LayoutKind.Sequential, CharSet = CharSet.Ansi, Pack = 1)] struct DeviceInterfaceDetailData { public int Size; - [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] public string DevicePath; + [MarshalAs(UnmanagedType.ByValTStr, SizeConst = 256)] + public string DevicePath; } [DllImport("hid")] @@ -384,7 +385,10 @@ } DeviceInterfaceDetailData deviceInterfaceDetailData = new DeviceInterfaceDetailData(); - deviceInterfaceDetailData.Size = 5; + if (IntPtr.Size == 8) + deviceInterfaceDetailData.Size = 8; + else + deviceInterfaceDetailData.Size = 5; if (!SetupDiGetDeviceInterfaceDetail(handle, ref deviceInterfaceData, ref deviceInterfaceDetailData, cbData, IntPtr.Zero, IntPtr.Zero)) { This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |