Windows Registry에 등록된 NetCfgInstanceId를 획득하는 방법을 구현해 본다.
Windows는 Registry에 디바이스 정보를 등록할 때, 미리 정해진 GUID 값에 맞게 등록이 된다.
- CDROM: 4D36E965-E325–11CE-BFC1–08002BE10318
- Keyboard: 4D36E96B-E325–11CE-BFC1–08002BE10318
- Modem: 4D36E96D-E325–11CE-BFC1–08002BE10318
- Mouse: 4D36E96F-E325–11CE-BFC1–08002BE10318
- Net: 4D36E972-E325–11CE-BFC1–08002BE10318
이 중에서 Net 클래스의 GUID 값을 Key로 사용한다.
SYSTEM\CurrentControlSet\Control\Class\{4D36E972-E325–11CE-BFC1–08002BE10318}
GUID 값을 기준으로 Windows Registry를 확인해보면 아래와 같이 등록된 모든 Net에 대한 정보를 확인할 수 있다.
여기에는 물리 하드웨어뿐만 아니라 virtualbox와 같은 가상 머신에서 설치된 드라이버까지 모두 보인다.
이제 golang 코드를 이용해서 해당 값을 얻어본다.