static void enumDevice() { // セッションを取得する var session = senseManager.QuerySession(); if (session == null) { throw new Exception("セッションの取得に失敗しました"); } // 取得するグループを設定する PXCMSession.ImplDesc mdesc = new PXCMSession.ImplDesc(); mdesc.group = PXCMSession.ImplGroup.IMPL_GROUP_SENSOR; mdesc.subgroup = PXCMSession.ImplSubgroup.IMPL_SUBGROUP_VIDEO_CAPTURE; for (int i = 0; ; ++i) { // センサーグループを取得する PXCMSession.ImplDesc desc1; var sts = session.QueryImpl(mdesc, i, out desc1); if (sts < pxcmStatus.PXCM_STATUS_NO_ERROR) { break; } // センサーグループ名を表示する Console.WriteLine(desc1.friendlyName); // キャプチャーオブジェクトを作成する PXCMCapture capture = null; sts = session.CreateImpl <PXCMCapture>(desc1, out capture); if (sts < pxcmStatus.PXCM_STATUS_NO_ERROR) { continue; } // デバイスを列挙する enumDevice(capture); // キャプチャーオブジェクトを解放する capture.Dispose(); } }