コード例 #1
0
        public bool capDriverGetCaps(IntPtr hwnd, ref CAPDRIVERCAPS capDriverCaps, int sizeOfCapDriverCapsIs44Bytes)
        {
            if (true == IsWindow(hwnd))
            {
                int sizeOfCAPDRIVERCAPSInBytes = 44;

                if (IntPtr.Zero == mPersistingUnmanagedMemoryForCapDriverCapsResult)
                {
                    mPersistingUnmanagedMemoryForCapDriverCapsResult =
                        System.Runtime.InteropServices.Marshal.AllocHGlobal(sizeOfCAPDRIVERCAPSInBytes);
                }

                int result = 0;
                result = SendMessage(hwnd, WM_CAP_DRIVER_GET_CAPS, sizeOfCAPDRIVERCAPSInBytes, mPersistingUnmanagedMemoryForCapDriverCapsResult.ToInt32( ));
                if (0 == result)
                {
                    return(false);
                }

                // Copy the raw byte data to a CAPDRIVERCAPS structure
                if (IntPtr.Zero != mPersistingUnmanagedMemoryForCapDriverCapsResult)
                {
                    System.Runtime.InteropServices.Marshal.PtrToStructure
                    (
                        mPersistingUnmanagedMemoryForCapDriverCapsResult,
                        (object)capDriverCaps
                    );
                }

                return(true);
            }
            return(false);
        }
コード例 #2
0
ファイル: Camera.cs プロジェクト: binCodeCW/IOT
 public static extern bool SendMessage(IntPtr hWnd, int wMsg, int wParam, ref CAPDRIVERCAPS lParam);
コード例 #3
0
 public static extern bool SendMessage(IntPtr hWnd, int wMsg, int wParam, ref CAPDRIVERCAPS lParam);
コード例 #4
0
 public static bool capDriverGetCaps(IntPtr lwnd, ref CAPDRIVERCAPS psCaps, int wSize)
 {
     return SendMessage(lwnd, WM_CAP_DRIVER_GET_CAPS, wSize, ref psCaps);
 }