Контексты передачи
Контекст передачи — это набор сведений, описывающий передачу данных из мини-накопителя в приложение. Сведения о передаче хранятся в MINIDRV_TRANSFER_CONTEXT структуре. Контекст передачи включает элементы, содержащие сведения о передаваемом изображении: его размер, разрешение, глубина цвета (количество байтов на пиксель), тип сжатия и формат изображения. Служба WIA получает эти значения из соответствующих свойств элемента WIA перед вызовом метода IWiaMiniDrv::d rvAcquireItemData . Затем значения сохраняются в структуре MINIDRV_TRANSFER_CONTEXT и передаются драйверу для удобного доступа. Этот процесс устраняет необходимость использования драйвером подпрограмм библиотеки служб WIA для чтения этих значений из контекста элемента приложения (то есть из контекста службы WIA).
Контекст передачи также содержит сведения о типе передачи: передача файловых данных или обратный вызов в памяти. Для передачи файловых данных один элемент содержит дескриптор файла, который будет записан. Рекомендуется, чтобы мини-отвертки не касались этой ручки. Служба WIA открывает дескриптор перед передачей и закрывает его после завершения передачи. Для передачи данных обратного вызова в памяти (а также для передачи файловых данных, когда приложение должно получать обновления от мини-driver) элемент содержит адрес подпрограммы обратного вызова мини-хранилища.
Другие элементы содержат такие сведения, как общий размер всех буферов, используемых при передаче, и о том, выделены ли их мини-накопителем или службой WIA. Полный список членов для этой структуры см. в MINIDRV_TRANSFER_CONTEXT .
Мини-диск вместе с функцией wiasGetImageInformation задает многие элементы контекста передачи, описывающие само изображение, например его ширину в пикселях и количество линий. Служба WIA задает многие элементы контекста передачи, связанные с передачей данных, например дескриптор файла (если применимо), тип передачи.