병렬 포트 만들기 및 시작

플러그 앤 플레이 관리자는 병렬 포트에 대해 시스템 제공 함수 드라이버의 플러그 앤 플레이 지원을 사용하여 병렬 포트를 나타내는 FDO(함수 디바이스 개체)를 만들고 시작합니다.

병렬 포트 함수 드라이버는 다음을 수행합니다.

  • 명명된 FDO를 만듭니다.

    병렬 포트에 대한 디바이스 이름의 형식은 "\Device\ParallelPortx"입니다. 여기서 x는 포트 번호의 정수 값입니다. 병렬 포트 함수 드라이버는 병렬 포트에 대한 플러그 앤 플레이 레지스트리 키 아래의 PortName 항목 값(REG_SZ)을 사용하여 포트 번호를 확인합니다. PortName의 형식이 "LPTn"이고 여기서 n은 포트의 수인 경우 "ParallePortx"의 x는 값(n -1)으로 설정됩니다. 예를 들어 "ParallelPort0"은 "LPT1"과 연결됩니다. PortName에 올바른 형식이 없으면 디바이스 개체가 만들어지지 않습니다.

    "ParallelPortx" 디바이스 이름은 보장되지 않습니다. IoRegisterPlugPlayNotification을 사용하여 GUID_PARALLEL_DEVICE 디바이스 인터페이스의 도착에 대한 알림을 받을 것을 권장합니다.

  • 병렬 포트에 대한 GUID_PARALLEL_DEVICE 인터페이스를 등록하고 사용하도록 설정합니다.

  • 플러그 앤 플레이 관리자가 보낸 리소스의 유효성을 검사합니다.

  • 병렬 포트에 연결된 1284.3 디바이스 초기화

    병렬 포트 함수 드라이버는 데이지 체인 디바이스 수를 계산하고 각 디바이스에 데이지 체인 ID를 할당합니다. Microsoft Windows 2000에서 드라이버는 0에서 3까지의 ID를 할당합니다. Windows XP에서 드라이버는 0 또는 1의 ID를 할당합니다. 디바이스 ID는 병렬 포트에 물리적으로 가장 가까운 디바이스부터 시작하여 오름차순으로 디바이스에 할당됩니다.

  • FDO 및 연결된 WMI 데이터 블록 및 콜백을 WDM 공급자에 등록합니다.

    병렬 포트 함수 드라이버는 병렬 포트가 할당되고 해제된 횟수를 기록합니다.

  • 병렬 포트 하드웨어에서 지원하는 통신 모드를 결정합니다.

    하드웨어는 IEEE 1284 이상과 호환되어야 합니다. 병렬 포트 함수 드라이버는 하드웨어가 BYTE, EPP 및 ECP 모드를 지원하는지 확인합니다. EPP는 컴퓨터의 작은 하위 집합에서만 지원됩니다.

  • 병렬 포트에 대한 FIFO(작업 큐)를 만듭니다.

    각 병렬 포트에는 자체 작업 큐가 있습니다. 병렬 포트 함수 드라이버 큐는 디바이스 요청만 할당하고 선택합니다. 병렬 포트 함수 드라이버가 새 할당 요청을 받거나 요청을 선택할 때 포트가 이미 할당된 경우 요청을 큐에 대기합니다.