https://docs.microsoft.com/ko-kr/windows/win32/wmisdk/wmi-start-page
. Win32_PnPSigned Driver Class WMI
https://learn.microsoft.com/en-us/previous-versions/windows/desktop/legacy/aa394354(v=vs.85)
MS공식문서는 WMI(Windows Management Instrumentation)는 윈도우즈
기반 운영 체제에서 시스템 관리 및 작업을 위한 인프라로 명시하고
있습니다.Windows OS가 탑제된 모든 제품의 시스템을 관리할 수 있는
방법을 제공하는 MS의 통합관리도구라고 생각하시면 될것 같습니다.
시스템 관리자는 PowerShell을 통해 WMI에 액세스 합니다.
시스템 통합 관리목적으로 별도의 앱을 제작할 때 .NET Framework WMI를
소스레벨에 포함시켜 WMI를 사용할 수 도 있습니다.
또한 WMICodeCreator를 사용하면 WMI관련 Query및 각 언어별로 어떻게
코드를 구성하는지 확인할 수 있습니다.
먼저, WMICodeCreator를 통해 WMI관련 코드 생성을 확인해 보게습니다.
WMICodeCreator설치
https://www.microsoft.com/en-us/download/details.aspx?id=8572
위 링크로 진입한 후, 아래 화면에서 "Download"을 선택합니다.
다운로드 완료 후 WMICodeCreator.zip파일을 압축해제 후 WMICodeCreator.exe을 실행 합니다.
이제, 현재 PC에서 CAMERA및 IMAGE장치를 찾아 보겠습니다.
.Code Language메뉴 선택 - C#
.Namespace : CIMV2
.Classes : Win32_PnPSignedDriver 선택
*Classes가 선택되면 Result화면에 선택할 수 있는 속성들이 보입니다.
Results영역에서 DeviceClass를 선택 후 "Search for Property Values"버튼을 선택 합니다.
그러혐 Win32_PnPSignedDriver장치에서 DeviceClass필드의 모든 값이 보입니다.
"Select one value to narrow scope on the query"아래 항목 중 DeviceClass = CAMERA를
선택하면 오른쪽 화면의 C#코드에 빨간색친 부분의 DeviceClass쿼리가 CAMERA로 변경됩니다.
다른것을 선택하면, 다시 선택된 항목으로 코드가 변경 됩니다.
자, 이제 "Execute Code"을 실행 시킵니다.
다음과 같이 실행 결과를 확인할 수 있습니다.
현재는 DeivceClass
근데 이건 너무 뭔가 부족하지 않는가? 달랑 저 결과만 나오기를 원한거 아니였을 텐데..
이전 Result화면에서 컨트롤 키를 누른채로 클릭을 하면 멀티항목을 선택할 수 있고,
해당내용으로 오른쪽 코드가 변경이 됩니다.
다시 여기서 DeviceName이 CAMERA인 항목만을 찾기 원하므로
"Select one value to narrow scope on the query"에서 임의의 DeviceClass을 클릭하고
오른쪽 코드에서 DeviceClass을 'CAMERA'로 입력 한후 "Execute Code"을 선택 합니다.
최종 수행 결과는 아래와 같습니다.
지금 까지 WMICodeCreator사용법에 대해 확인해 보았습니다.
WMICodeCreator는 WQL(WMI Query Language)를 메뉴를 통해 테스트
할 수 있으며, 또한 C#과 같은 코드를 생성할 수 있기 때문에,
해당 코드를 복사하여 테스트용 앱에서 사용할 수 있습니다.