다음을 통해 공유


문서 공급 관리자 지원 추가

중요

이 문서에는 사용되지 않는 Windows 운영 체제에 적용되는 정보가 포함되어 있습니다.

문서 공급 장치는 스캔할 위치에 있는 종이 문서를 자동으로 공급하는 스캐너에 연결되거나 기본 제공되는 단위입니다. 문서 공급 장치가 있는 스캐너의 경우 다음 목록에 포함된 속성을 추가하여 기능을 노출하고 제어합니다. Windows Me 및 Windows XP의 경우 루트 항목에 다음 속성이 있습니다.

Windows Me 및 Windows XP의 경우 다음과 같은 선택적 문서 공급 장치 속성이 자식 항목에 있습니다.

디바이스에 플랫베드, 문서 공급 장치 및 이중 장치가 있는 경우 드라이버는 WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES 속성을 로 FEED | FLAT | DUP보고합니다. WIA_DPS_DOCUMENT_HANDLING_SELECT 유효한 값이 올바르게 설정되었는지 확인합니다.

예를 들어 애플리케이션이 문서 피더에서 세 페이지의 이중 검사를 수행하려고 하는 경우를 가정해 보겠습니다. 이를 위해 애플리케이션은 WIA_DPS_DOCUMENT_HANDLING_SELECT 속성을 (FEEDER | )로 설정합니다. DUPLEX) 및 WIA_DPS_PAGES 속성을 3으로 설정합니다. 애플리케이션이 먼저 페이지 앞부분에서 검색하려는 경우 WIA_DPS_DOCUMENT_HANDLING_SELECT 속성을 로 FEEDER | DUPLEX | FRONT_FIRST설정해야 합니다. 이 작업이 완료되면 애플리케이션은 데이터 전송을 요청해야 하는 자식 항목으로 이동해야 합니다. 미니드라이버에서는 피더의 첫 번째 페이지 앞면을 페이지 1로 보고하고, 해당 페이지의 뒷면을 2페이지로, 피더의 두 번째 페이지 앞면을 3페이지로 보고합니다.

디바이스에 문서 공급 장치가 있는 경우 문서 공급 장치 속성을 지원해야 합니다.

문서 공급기에서 데이터 획득

스캐너가 문서 공급 장치에서 이미지를 가져올 때 IWiaMiniDrv::d rvAcquireItemData 메서드를 구현할 때 수행해야 하는 몇 가지 변경 사항이 있습니다.

  1. 애플리케이션은 WIA_DPS_DOCUMENT_HANDLING_CAPABILITIES 속성을 읽고 스캐너가 문서 공급 장치를 사용하여 검사를 지원하는지 여부를 확인합니다.

  2. 애플리케이션은 WIA_DPS_DOCUMENT_HANDLING_SELECT 속성을 읽고 스캐너가 문서 공급 장치를 사용하여 스캔하도록 구성되어 있는지 여부를 확인합니다.

  3. 애플리케이션은 WIA_DPS_DOCUMENT_HANDLING_STATUS 읽어 문서 공급 장치에서 용지가 있는지 여부를 결정합니다. 공급 장치에서 용지가 없는 경우 WIA_DPS_DOCUMENT_HANDLING_STATUS 적절한 상태 코드로 설정하고 인수가 수행된 직후 IWiaMiniDrv::d rvAcquireItemData에서 WIA_ERROR_PAPER_EMPTY 반환합니다.

  4. WIA_DPS_PAGES 속성을 확인하여 검사 동작을 확인합니다. 이 속성이 0이면 피더가 비어 있는 경우 모든 페이지를 검사합니다. 양수이면 WIA_DPS_PAGES 속성에 포함된 값으로 표시된 페이지 수만 검색합니다.

  5. IWiaMiniDrvCallBack::MiniDrvCallback 메서드를 호출하여 루프를 제어하고, 지속적으로 스캔하고, 데이터를 WIA 애플리케이션에 전송하여 요청된 페이지 수를 검사합니다. 다음 코드 예제에서는 이 작동 방식을 보여 봅니다.

    for(int x=1; x=Pagecount; x++)
    {
        \\ Tell scanner to scan an image.
        \\ Receive image data from scanner.
        \\ Send the just-scanned image to the registered application.
    }
    
  6. WIA_IPA_TYMED TYMED_CALLBACK 또는 TYMED_MULTIPAGE_CALLBACK 설정된 경우 한 페이지를 스캔한 후 다음 페이지를 검사하기 전에 추가 메시지(IT_MSG_NEW_PAGE)를 보내야 합니다. 이 작업은 wiasSendEndOfPage WIA 서비스 유틸리티 함수를 호출하여 수행됩니다.

문서 공급 드라이버가 반환하는 페이지 수는 WIA_DPS_PAGES 속성의 설정에 따라 달라집니다.

WIA_DPS_PAGES 0인 경우

  1. 스캐너가 첫 번째 페이지를 스캔할 수 없는 경우 오류 코드를 즉시 반환합니다. 여기에는 용지 걸림과 스캐너에 용지가 부족할 때가 포함됩니다.

  2. 스캐너가 첫 번째 페이지를 성공적으로 검사하고 검사를 계속할 수 있지만 용지가 부족하면 성공 코드 WIA_STATUS_END_OF_MEDIA 반환합니다. 이렇게 하면 애플리케이션에 전송이 성공했음을 알리지만 스캐너에 용지가 부족합니다. 일부 애플리케이션은 WIA_STATUS_END_OF_MEDIA 것과 동일한 방식으로 WIA_ERROR_PAPER_EMPTY 응답합니다.

  3. 스캐너가 첫 번째 페이지를 성공적으로 검사하고 검사를 계속할 수 있지만 데이터 손실을 초래하지 않는 오류가 발생하면 WIA_STATUS_END_OF_MEDIA 반환합니다. 이렇게 하면 애플리케이션이 복구하고 오류가 발생하기 전에 스캔한 페이지를 저장할 수 있습니다. 후속 검사는 스캐너가 오류에서 제대로 복구될 때까지 오류 코드를 즉시 반환해야 합니다.

  4. 스캐너가 첫 번째 페이지를 성공적으로 검사하고 검사를 계속할 수 있지만 데이터 손실을 초래하는 오류가 발생하면 오류 코드를 즉시 반환합니다.

WIA_DPS_PAGES 양수인 경우

  1. WIA_DPS_PAGES 0인 모든 규칙이 적용됩니다.

  2. 요청된 페이지 수를 검사하기 전에 스캐너에 용지가 부족하면 WIA_STATUS_END_OF_MEDIA 반환합니다. 이렇게 하면 애플리케이션이 검사 세션을 닫아 이미 성공적으로 스캔한 페이지 수를 보존할 수 있습니다. 일부 애플리케이션은 WIA_STATUS_END_OF_MEDIA 것과 동일한 방식으로 WIA_ERROR_PAPER_EMPTY 응답합니다.