다음을 통해 공유


포트 모니터

포트 모니터는 사용자 모드 DLL로 구성됩니다. 사용자 모드 인쇄 스풀러와 I/O 포트 하드웨어에 액세스하는 커널 모드 포트 드라이버 간에 통신 경로를 제공하는 역할을 담당합니다. 포트 모니터는 일반적으로 CreateFile, WriteFile, ReadFileDeviceIOControl 함수를 사용하여 커널 모드 포트 드라이버와 통신합니다. 포트 모니터는 포트 관리에 설명된 대로 서버의 프린터 포트 관리 및 구성을 담당 합니다.

"프린터"에 대한 NT 기반 운영 체제 사용자의 보기는 실제로 하나 이상의 물리적 프린터 디바이스를 연결할 수 있는 인쇄 큐입니다. 포트는 인쇄 큐와 단일 프린터 디바이스 간의 물리적 연결입니다. 각 포트 모니터는 하나 이상의 포트 유형 인스턴스를 하나 이상 지원합니다. 예를 들어 샘플 포트 모니터인 Localmon.dll 서버의 모든 로컬 COM 및 LPT 포트를 지원할 수 있습니다. Print 폴더는 AddPrinter 함수를 호출하여 포트 모니터에 포트를 할당합니다.

여러 프린터 디바이스를 나타내는 인쇄 큐의 경우(여러 포트를 통해) 스풀러는 각 인쇄 작업을 사용 가능한 첫 번째 포트로 보냅니다. 포트 모니터가 지정된 포트가 사용 중이거나 오류가 발생한 경우 스풀러는 포트 모니터에서 지원하는 다른 포트를 지정하여 작업을 큐에 다시 제출합니다.

Localmon.dll 외에도 Windows 2000 이상 운영 체제 버전은 몇 가지 추가 포트 모니터를 제공합니다. Windows 2000 서버 리소스 키트는 이러한 각 포트 모니터에 대해 설명합니다. (일부 언어 및 국가에서는 이 리소스를 사용할 수 없습니다.)

사용자 지정된 포트 모니터를 작성하여 추가 유형의 I/O 포트 하드웨어를 지원할 수 있습니다.

Windows 2000 이상의 경우 각 포트 모니터는 두 개의 DLL로 나뉩니다.

포트 모니터 UI DLL 포트 모니터의 사용자 인터페이스 DLL은 사용자 인터페이스 기능을 포함하고 인쇄 클라이언트 시스템에서 실행됩니다.

이 DLL은 클라이언트 시스템의 System32 하위 디렉터리에 있어야 합니다.

포트 모니터 서버 DLL
포트 모니터의 서버 DLL은 포트 통신 기능을 포함하고 인쇄 서버에서 실행됩니다. 사용자 인터페이스를 표시해서는 안 됩니다.

UI DLL은 스풀러의 XcvData 함수를 호출하여 서버 DLL과 통신합니다.

샘플 포트 모니터는 WDK(Windows 드라이버 키트)에 포함되어 있습니다.