프린터 포트 모니터 사용자 지정
Windows Vista와 함께 제공되는 표준 TCP/IP 또는 WSD(Web Services for Devices) 포트 모니터를 사용자 지정하여 표준 bidi 통신 스키마 이상의 기능이 있는 인쇄 디바이스에 대한 새 스키마를 정의할 수 있습니다. 해당 드라이버와 관련된 새 스키마를 정의하는 XML 파일인 bidi 확장 파일을 만들어야 합니다. 이 확장 파일은 드라이버가 설치될 때 설치됩니다. TCP/IP 또는 WSD 포트 모니터가 이 확장 파일을 식별하면 모니터가 파일을 로드한 다음 추가 bidi 스키마를 사용할 수 있습니다.
bidi 확장 파일의 스키마는 표준 인쇄 스키마의 하위 집합입니다. 이러한 스키마는 WDK와 함께 제공되는 Tcpbidi.xsd 또는 WsdBidi.xsd 파일의 구조를 준수해야 합니다.
참고bidi 통신 스키마 가 요구 사항을 충족하는 경우 bidi 확장 파일을 만들 필요가 없으므로 인쇄 포트 모니터를 사용자 지정할 필요가 없습니다.
다음 조건이 적용되는 경우 bidi 확장 파일을 만들고 프린터 드라이버와 연결해야 합니다.
프린터 드라이버에는 표준 인쇄 스키마에서 찾을 수 없는 프린터의 정보가 필요합니다. 이 정보를 얻으려면 추가 쿼리를 사용하여 지원되는 스키마를 확장해야 합니다. 특정 포트에 대해 지원되는 스키마를 열거하는 다른 클라이언트는 추가 쿼리를 가져오지만 일반적으로 이해할 수 없습니다.
쿼리에 드라이버 관련 정보가 필요하기 때문에 표준 TCP/IP 또는 WSD 포트 모니터에서 지원되지 않는 표준 인쇄 스키마의 쿼리를 포함할 계획입니다. 이 경우 인쇄 스키마를 확장해야 합니다. 일반적으로 인쇄 미디어의 입력 및 출력 빈과 관련된 인쇄 스키마의 부분을 확장해야 합니다. 또한 bidi 스키마에 정의된 bin 이름과 프린터의 MIB(관리 정보 베이스)에 있는 bin 이름 간에 매핑을 제공해야 합니다.
OID(사용자 지정 개체 식별자)를 설정하거나 새로 고침 간격을 변경하는 등 표준 쿼리의 작동 방식을 사용자 지정하려고 합니다. 예를 들어 표준 TCP/IP 포트 모니터는 기본 간격 600초(10분)로 Web Services Eventing을 지원하지 않는 디바이스를 폴링합니다. 디바이스와 연결된 Value 구문에서 refreshInterval 특성을 설정하는 bidi 확장을 만들어 폴링 간격을 변경할 수 있습니다. (다음 코드 예제의 속성을 참조하세요
Memory
.)
드라이버에 연결된 bidi 확장 파일이 없는 경우 표준 인쇄 스키마의 bidi 통신 지원은 드라이버별 데이터(예: 입력 및 출력 bin과 관련된 데이터)가 필요한 쿼리에 응답할 수 없습니다.
참고 Windows Vista의 네트워크 라우팅 구획을 사용하면 다양한 인터페이스를 서로 격리하면서 신뢰할 수 있는 프로세스가 서로 다른 네트워크 인터페이스(가상 또는 물리적 인터페이스)에 연결할 수 있습니다. 예를 들어 Windows Vista는 이러한 구획을 사용하여 VPN과 사용자의 로컬 네트워크 및 인터넷에 대한 동시 액세스를 허용하지 않는 VPN 정책을 적용합니다. 인쇄하는 동안 스풀러는 TCP 프린터 포트를 열 때 사용자를 가장합니다. 따라서 사용자가 VPN에 연결되어 있는 동안에는 스풀러가 로컬 네트워크 프린터에 인쇄할 수 없습니다.
Bidi 확장 파일의 구조
bidi 확장 파일은 Microsoft WDK(Windows 드라이버 키트)와 함께 제공되는 Tcpbidi.xsd 또는 WsdBidi.xsd 파일에 따라 유효해야 하는 올바른 형식의 XML입니다. 이러한 .xsd 파일에 정의된 구문을 사용하면 새 스키마를 정의할 수 있습니다.
다음은 기본 구조를 보여 주는 TCP/IP bidi 확장 파일의 불완전한 예입니다. WSD bidi 확장 파일의 구조는 비슷합니다.
<?xml version="1.0" encoding="US-ASCII"?>
<bidi:Schema xmlns:bidi="https://schemas.microsoft.com/windows/2005/03/printing/bidi">
<Schema>
<Property name="Printer">
<Property name="Configuration">
<Property name= "Memory">
<Value name="Size" type="BIDI_INT" oid="1.3.6.1.2.1.25.2.2" refreshInterval="600" drvPrinterEvent="true" />
.
.
.
</Property>
</Property>
</Property>
</Schema>
</bidi:Schema>
앞의 코드 예제에서는 다음을 확인합니다.
Root 요소에는 정확히 하나의 스키마 요소가 포함됩니다. 스키마의 계층 구조는 스키마 요소로 시작합니다.
스키마 요소에는 속성 요소가 노드로, Value 요소가 나뭇잎으로 포함됩니다.
각 Value 요소는 데이터를 검색할 수 있는 특정 기술을 정의합니다.
WinSNMP를 Bidi 데이터 형식으로 변환
SNMP(Simple Network Management Protocol) 형식과 bidi 형식 간의 대응은 BIDI_TYPE 열거형 항목에 제공됩니다.
이 섹션의 나머지 부분에는 고유한 bidi 스키마 확장을 만드는 데 도움이 되는 다음 topics 포함되어 있습니다.