void SearchDevices() { DeviceStatus devSatus = CGAPI.DeviceInitialSDK(IntPtr.Zero, false); if (DeviceStatus.STATUS_OK == devSatus) { int iCameraCounts = 0; devSatus = CGAPI.EnumDevice(IntPtr.Zero, ref iCameraCounts); if (DeviceStatus.STATUS_OK == devSatus) { IntPtr ptr = Marshal.AllocHGlobal(Marshal.SizeOf(new EnumDeviceParam()) * iCameraCounts); devSatus = CGAPI.EnumDevice(ptr, ref iCameraCounts); if (DeviceStatus.STATUS_OK == devSatus) { for (int i = 0; i < iCameraCounts; i++) { EnumDeviceParam edp = (EnumDeviceParam)Marshal.PtrToStructure((IntPtr)((int)ptr + i * Marshal.SizeOf(new EnumDeviceParam())), typeof(EnumDeviceParam)); string strDevice = String.Format("{0} : {1}", edp.lpDeviceDesc, edp.devIndex); Debug.Log("DeviceInfo " + strDevice); } } Marshal.FreeHGlobal(ptr); } } }
public bool SearchCameras(out int count) { count = 0; DeviceStatus devSatus = CGAPI.EnumDevice(IntPtr.Zero, ref count); return(devSatus == DeviceStatus.STATUS_OK); }