TWAIN インターフェイスを介してスキャナーでサポートされている DPI を列挙する必要があります。
// after Acquire is called...
TW_CAPABILITY twCap;
GetCapability(twCap, ICAP_XRESOLUTION)
if (twCap.ConType == TWON_ENUMERATION) {
pTW_ENUMERATION en = (pTW_ENUMERATION) GlobalLock(twCap.hContainer);
for(int i = 0; i < en->NumItems; i++) {
if (en->ItemType == TWTY_FIX32) {
TW_UINT32 res = (TW_UINT32)(en->ItemList[i*4]);
// print res...
}
それはうまくいきますが、出力シーケンスは奇妙です:
50 100 150 44 88 176
スキャナが 300 DPI をサポートしていることは正確にわかっていますが、この値は返されません。ここで何が間違っていますか?プログラムで設定できるのに、「300」が順番に返されないのはなぜですか?