Я собираюсь предположить, что вы работаете в формате A4 / 8.5x11 в цвете (32-битный) - это очень близко к 2 гигабайтам для BMP, что близко к пределу 32-битного числа со знаком. Я бы сказал, что это не столько разрешение, сколько общий объем данных. По крайней мере, пределы структур данных COM - это заключение автора приложения для сканирования silverlight . Если вы подумаете об этом, если все это когда-либо появится в буфере для 32-битного процесса, у вас не хватит памяти, пытаясь выделить непрерывный кусок памяти такого большого размера.
Мои знания о WIA немного поблекли, но, если я правильно помню, WIA сканирует через службу, если она 32-разрядная, и вы вызываете ее через COM, отсюда и буфер, и ограничение. Это, и если вы не получите правильные параметры сканирования, он выберет BMP (без сжатия). Кажется, я не могу вспомнить, можете ли вы заставить его делать JPEG для цвета или вы вынуждены проходить конвертер. Если вы хотите работать с такими большими данными, одним из вариантов может быть переключение на API C ++, который позволяет потоковый доступ вместо буферизованного доступа (я никогда не использовал его, но упомянул об этом на случай, если это поможет).