Контексты свойств
Контекст свойств предоставляет мини-накопителю удобный способ определить ряд свойств, интересующих его при проверке этих свойств. Используя контекст свойств, мини-диск может быстро определить, изменяются ли какие-либо из указанных свойств. Затем мини-диск передает контекст свойства одной из функций библиотеки служб WIA (например, wiasGetChangedValueFloat), которая использует контекст для определения того, изменяет ли приложение значение свойства.
Подход WIA к проверке заключается в том, что при изменении свойства приложением также должны обновляться все зависимые свойства. Однако если приложение также изменяет зависимые свойства, можно просто проверка свойство верхнего уровня, чтобы определить, является ли его новое значение допустимым. Функции библиотеки служб WIA, связанные с проверкой свойств, используют этот принцип, чтобы решить, когда следует обновлять зависимые свойства, а когда они должны просто проверка для действительности.
Контекст для набора свойств поддерживается в WIA_PROPERTY_CONTEXT структуре, которая содержит три элемента: количество свойств в контексте свойства, указатель на массив идентификаторов свойств (PROPID) и указатель на массив значений BOOL. Массивы поддерживаются параллельно (то есть свойство, идентификатор свойства которого находится в индексе N в массиве идентификаторов свойств, связано со значением BOOL по тому же индексу в массиве BOOL).
Мини-driver вызывает функцию библиотеки служб WIA wiasCreatePropContext для выделения памяти и заполнения значений контекста свойства. Другие функции библиотеки служб WIA, такие как wiasGetChangedValueFloat, используют контекст свойств для определения времени обновления значений свойства.