다음을 통해 공유


레거시 애플리케이션 및 Windows Vista 드라이버에 대한 매핑

중요

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

이 섹션에서는 레거시 애플리케이션이 Windows Vista 드라이버와 함께 작동해야 하는 경우 Windows Vista 전송 메시지 및 데이터 흐름을 레거시 전송 메시지 및 데이터 흐름에 매핑하는 방법을 설명합니다.

콜백 전송

이 표에서는 레거시 애플리케이션으로 전송된 메시지에 대한 Windows Vista 드라이버의 콜백 전송 메시지 매핑을 보여 줍니다.

Windows Vista 드라이버 메시지 레거시 애플리케이션 메시지(호환성 계층 변환 후)
WIA_TRANSFER_MSG_STATUS IT_MSG_STATUS
WIA_TRANSFER_MSG_ERROR 무시됩니다.
WIA_TRANSFER_MSG_END_OF_STREAM 무시됩니다. 이 메시지는 항상 IWiaTransferCallback::GetNextStream 호출과 함께 진행됩니다. 중복 메시지를 방지하기 위해 이 메시지는 대신 GetNextStream 구현에서 구현됩니다.
WIA_TRANSFER_MSG_END_OF_TRANSFER IT_MSG_TERMINATION(WIA_TRANSFER_MSG_END_OF_TRANSFER 드라이버에서 전송되지 않음)
WIA_TRANSFER_MSG_DEVICE_STATUS hrErrorStatus == WIA_STATUS_WARMING_UP 경우 호환성 계층은 애플리케이션에 일부 상태 제공하고 Windows Vista 애플리케이션에 전송을 취소할 수 있는 가능성을 제공하기 위해 IT_STATUS_TRANSFER_FROM_DEVICE IT_MSG_STATUS 보냅니다.
WIA_TRANSFER_MSG_NEW_PAGE 무시됩니다. TYMED_FILE 사용하여 Windows Vista 드라이버를 호출하므로 이 경우 Windows Vista 드라이버에서 전송해서는 안 됩니다.
IWiaTransferCallback::GetNextStream 첫 페이지: IT_MSG_DATA_HEADER

후속 페이지: IT_MSG_NEW_PAGE
IStream::Write IT_MSG_DATA

파일 전송

이 표에서는 레거시 애플리케이션으로 전송된 메시지에 Windows Vista 드라이버의 파일 전송 메시지 매핑을 보여 줍니다.

Windows Vista 드라이버 메시지 레거시 애플리케이션 메시지(호환성 계층 변환 후)
WIA_TRANSFER_MSG_STATUS IT_MSG_STATUS
WIA_TRANSFER_MSG_ERROR 무시됩니다.
WIA_TRANSFER_MSG_END_OF_STREAM 무시됩니다. 이 메시지는 항상 IWiaTransferCallback::GetNextStream 호출과 함께 진행됩니다. 중복 메시지를 방지하기 위해 이 메시지는 대신 GetNextStream 구현에서 구현됩니다.
WIA_TRANSFER_MSG_END_OF_TRANSFER IT_MSG_TERMINATION(WIA_TRANSFER_MSG_END_OF_TRANSFER 드라이버에서 전송되지 않음)
WIA_TRANSFER_MSG_DEVICE_STATUS hrErrorStatus == WIA_STATUS_WARMING_UP 경우 애플리케이션에 일부 상태 제공할 뿐만 아니라 Windows Vista 애플리케이션에 전송을 취소할 수 있는 가능성을 제공하기 위해 IT_MSG_STATUS IT_STATUS_TRANSFER_FROM_DEVICE 함께 전송됩니다.
WIA_TRANSFER_MSG_NEW_PAGE wiasWritePageBufToFile이 IT_MSG_NEW_PAGE 보내지 않으므로 이 동작은 현재 다중 페이지 파일 전송과 다소 다릅니다.
IWiaTransferCallback::GetNextStream 첫 페이지: IT_MSG_FILE_PREVIEW_DATA_HEADER

후속 페이지: 오류(WIA_ERROR_GENERAL_ERROR 드라이버에 다시 전달됨). IWiaTransferCallback::GetNextStream 은 TYMED_FILE 한 페이지만 전송할 수 있고 TYMED_MULTIPAGE_FILE 전송하는 동안 모든 페이지가 동일한 스트림으로 이동해야 하므로 Windows Vista 드라이버는 GetNextStream 을 한 번만 호출해야 하므로 한 번만 호출해야 합니다.
IStream::Write 메시지를 보내지 않았습니다. 파일 전송의 경우 호환성 계층은 드라이버(이미지 처리 필터)가 기록하는 데이터를 레거시 전송 메시지로 변환하지 않습니다. 대신 데이터는 전송이 끝날 때 사용자에게 반환되는 파일에 기록됩니다.

레거시 전송 메시지에 대한 자세한 내용은 IWiaMiniDrvCallBack 인터페이스를 참조하세요.

TYMED 상수에 대한 자세한 내용은 TYMED 이해를 참조하세요.