다음을 통해 공유


필름 스캐너에 대한 기본 검사

WIA 애플리케이션은 스캐너 항목 트리의 최상위 항목을 열거하여 스캐너의 지원되는 기능을 확인합니다. 그런 다음, 애플리케이션은 최상위 항목을 검사 원본으로 사용합니다. 예를 들어 플랫베드 스캐너 항목은 플랫베드에서 검사하는 데 사용되고, 피더 항목은 문서 공급 장치를 스캔하는 데 사용됩니다.

필름 항목의 프로그래밍 및 스캔 동작은 플랫베드 항목의 동작과 거의 동일합니다.

애플리케이션은 일반적으로 스캐너의 필름 항목을 프로그래밍할 때 다음 작업을 수행하지만 반드시 이 순서로는 그렇지 않습니다.

  • 최상위 WIA 항목을 열거하고 WiaItemTypeProgrammableDataSource 항목 플래그 및 WIA_CATEGORY_FILM WIA_IPA_ITEM_CATEGORY 설정으로 표시된 WIA 항목을 검색합니다.

  • 영화 검사 설정에 검사 WIA_IPS_FILM_SCAN_MODE 유효한 값을 읽습니다. 이 설정은 양수 이미지 또는 음수 이미지(즉, 사진 부정) 스캔 지원을 나타냅니다.

  • WIA_IPS_FILM_SCAN_MODE 속성을 설정하여 양수 또는 음의 광원을 선택합니다.

  • 스캐너 램프의 현재 설정을 읽고 필요한 경우 WIA_IPS_LAMP 속성을 사용하여 램프를 켭니다(지원되는 경우).

  • WIA_IPA_TYMED WIA_IPA_FORMAT 유효한 값을 읽습니다.

  • WIA_IPA_FORMAT 속성을 설정하여 데이터의 최종 형식을 선택합니다.

  • 이미지 설정(예: WIA_IPA_DEPTH, WIA_IPA_DATATYPEWIA_IPA_BITS_PER_CHANNEL)을 선택합니다.

  • WIA_IPA_TYMED 속성을 설정하여 단일 또는 다중 페이지(지원되는 경우) 파일 전송을 선택합니다.

  • 자식 항목을 열거하여 기존 프레임을 찾습니다.

  • WIA_IPS_SUPPORTS_CHILD_ITEM_CREATION 항목을 읽어 스캐너가 새 프레임 생성을 지원하는지 여부를 확인합니다.

  • 기존 필름 항목 프레임을 조정하거나 프레임 생성 지원에 따라 새 프레임을 만듭니다.

  • WIA_IPS_SUPPORTS_CHILD_ITEM_CREATION 속성을 읽어 필름 스캐너 항목이 특수 폴더 획득 기능을 지원하는지 여부를 확인합니다.

  • 다음 작업 중 하나를 수행합니다.

    • WIA 필름 스캐너 항목을 사용하여 데이터를 전송합니다(폴더 획득 기능을 사용하지 않음). 전체 필름 스캔 영역은 단일 이미지로 반환됩니다.
    • WIA 필름 스캐너 항목을 사용하여 데이터를 전송합니다(폴더 획득 기능 사용). WIA 필름 스캐너 자식 항목(즉, 프레임)만 애플리케이션으로 전송됩니다.
    • 각 프레임 항목으로 이동하여 해당 WIA 항목을 전송합니다.

일반적으로 드라이버는 스캐너의 필름 스캔 장치를 사용하여 스캔할 때 다음 작업을 수행합니다.

  1. IWiaMiniDrv::d rvValidateItemPropertiesIWiaMiniDrv::d rvReadItemProperties를 호출합니다. WIA 드라이버는 애플리케이션의 속성 설정 단계에서 모든 속성 설정의 유효성을 검사해야 합니다.

  2. IWiaMiniDrv::d rvWritemProperties를 호출합니다. 전달되는 WIA 항목 컨텍스트는 드라이버가 스캐너의 필름 스캔 장치를 사용하여 스캔하려는 것을 드라이버가 알 수 있도록 필름 스캐너 항목 또는 필름 스캔 항목 프레임에 속합니다. 일부 스캐너는 필름 스캔을 위해 플랫베딩을 사용합니다. 스캐너는 적절한 조명(WIA_IPS_FILM_SCAN_MODE 속성에 따라) 및 필름 스캔에 대한 익스텐트 변경을 위해 구성되어야 합니다.

  3. IWiaMiniDrv::d rvAcquireItemData를 호출합니다. 에 전달되는 WIA 항목 컨텍스트는 필름 스캐너 항목 또는 필름 스캔 항목 프레임에 속합니다. 드라이버는 애플리케이션이 필름 스캔 단위를 사용하여 스캔할 것인지 쉽게 확인할 수 있습니다.

  4. 현재 필름 항목 속성(자식 프레임 속성 포함)을 사용하여 디바이스를 프로그래밍하고 필름 스캔 단위에서 스캔합니다. WIA 드라이버가 필름 검사 모드가 아닌 경우 스캔을 위해 이 모드로 전환하려고 시도합니다. 애플리케이션은 음수와 양수 광원 사이에서만 전환할 수 있습니다. 필름 스캐너 항목을 사용하여 스캔하는 것은 애플리케이션과 드라이버 간의 계약입니다. 스캐너의 필름 스캔 기능이 데이터 전송에 사용된다는 데 동의합니다.

필름 스캐너 항목에 있는 WIA 속성은 스캔 전에 스캐너의 필름 스캔 부분에 적용할 설정으로 드라이버에서 사용해야 합니다. WIA 애플리케이션은 WIA 드라이버에서 반환하는 데이터의 헤더를 항상 신뢰해야 합니다. 예를 들어 스캐너는 지정된 이미지 너비를 검사할 수 없으며 값을 반올림해야 한다고 결정했습니다. 드라이버는 애플리케이션에 적절한 데이터가 있도록 이미지 헤더를 업데이트된 너비 정보로 업데이트해야 합니다. WIA 드라이버는 항상 디바이스에서 반환되는 실제 데이터 정보로 WIA 속성 집합을 업데이트해야 합니다.