예제 #1
0
파일: API.cs 프로젝트: agabor/RightKeyboard
        public static uint GetRawInputData(IntPtr hRawInput, uint uiCommand, out RAWINPUTHEADER data)
        {
            int size = Marshal.SizeOf(typeof(RAWINPUTHEADER));
            IntPtr buffer = Marshal.AllocHGlobal(size);
            try {
                uint result = GetRawInputData(
                    hRawInput,
                    uiCommand,
                    buffer,
                    ref size,
                    size
                );

                data = new RAWINPUTHEADER();
                Marshal.PtrToStructure(buffer, data);
                return result;
            }
            finally {
                Marshal.FreeHGlobal(buffer);
            }
        }
예제 #2
0
        public static uint GetRawInputData(IntPtr hRawInput, uint uiCommand, out RAWINPUTHEADER data)
        {
            int    size   = Marshal.SizeOf(typeof(RAWINPUTHEADER));
            IntPtr buffer = Marshal.AllocHGlobal(size);

            try {
                uint result = GetRawInputData(
                    hRawInput,
                    uiCommand,
                    buffer,
                    ref size,
                    size
                    );

                data = new RAWINPUTHEADER();
                Marshal.PtrToStructure(buffer, data);
                return(result);
            }
            finally {
                Marshal.FreeHGlobal(buffer);
            }
        }