AddDevice 장치 이름(2)

장치 인터페이스
기존의 명명 방법으로 장치 대상을 명명하고 응용 프로그램이 사용할 수 있는 기호 연결을 만드는 데 두 가지 주요 문제가 존재한다.명명 장치 대상이 가져오는 잠재적인 안전 문제는 우리가 이미 토론한 적이 있다.그 밖에 장치에 접근하는 프로그램은 장치가 사용하는 명칭 방안을 먼저 알아야 한다.만약 하드웨어가 응용 프로그램에서만 접근한다면, 아무런 문제가 없을 것이다.그러나 다른 회사가 당신의 하드웨어에 응용 프로그램을 쓰고 싶고, 많은 하드웨어 회사들이 비슷한 장치를 만들고 싶다면, 적당한 명칭 방안을 설계하는 것은 어렵다.마지막으로, 많은 명명 방안은 프로그래머가 말하는 자연 언어에 의존할 것이다. 이것은 좋은 선택이 아니다.
이러한 문제들을 해결하기 위해 WDM은 새로운 설비 명칭 방안을 도입했다. 이 방안은 언어가 중립적이고 확장이 쉬우며 많은 하드웨어와 소프트웨어 업체에 사용할 수 있고 문서화하기 쉽다.이 방안은 장치 인터페이스(device interface)의 개념에 의존하여 소프트웨어가 하드웨어에 어떻게 접근하는지에 대한 설명이다.장치 인터페이스는 128비트 GUID에 의해 고유하게 식별됩니다.플랫폼 SDK의 UUIDGEN 도구나 GUIDGEN 도구로 GUID를 생성할 수 있습니다. 이 두 도구는 같은 수를 출력하지만 형식은 다르습니다.이 생각은 몇몇 공업 조직이 연합하여 어떤 하드웨어의 표준 접근 방법을 공동으로 제정하는 것과 같다.표준 제작 과정에서 일부 GUID가 생성되었는데, 이러한 GUID는 일부 인터페이스에 영원히 연결될 것이다.
정보
GUID
소프트웨어 인터페이스를 식별하는 데 사용되는 GUID는 COM(부품 대상 모델)에서 COM 인터페이스를 식별하는 식별자와 같고 OSF(오픈 소프트웨어 펀드)의 DCE(분포식 계산 환경)에서 RPC(원격 프로세스 호출) 목표를 식별하는 데도 사용된다.GUID가 어떻게 생성되고 왜 통계적 의미에서 유일하게 생성되는지 알고 싶다면 Kraig Brockschmidt의 Inside OLE, Second Edition(Microsoft Press, 1995) 66페이지를 참고하십시오. 원시 알고리즘 규범은 OSF에서 제정한 것입니다. 관련 부분은http://www.opengroup.org/onlinepubs/9629399/apdxa.htm.
장치 드라이버에서 GUID를 사용하기 위해서는 먼저 UUIDGEN 또는 GUIDGEN을 사용하여 GUID를 생성한 다음 결과를 헤더 파일에 넣어야 합니다.GUIDGEN은 GUID의 출력 형식을 선택하고 결과를 클립보드로 보낼 수 있어 사용하기 쉽다.그림 2-18은 GUIDGEN 실행 창을 보여 줍니다.출력을 머리 파일에 붙여넣을 수 있습니다.

// {CAF53C68-A94C-11D2-BB4A-00C04FA330A6}

DEFINE_GUID(<<name>>, 

0xCAF53C68, 0xA94C, 0x11D2, 0xBB, 0x4A, 0x00, 0xC0, 0x4F, 0xA3, 0x30, 0xA6);

그리고 의미 있는 이름으로 <, 예를 들어 GUIDSIMPLE, 이 정의를 드라이버나 프로그램에 포함합니다.

좋은 웹페이지 즐겨찾기