Esme Povirk (@madewokherd) commented about dlls/sane.ds/ds_image.c:
{case SANE_STATUS_NO_DOCS:LoadStringA( SANE_instance, IDS_NO_DOCS, szMessage, ARRAY_SIZE( szMessage ) );twRC =activeDS.scannedImages!=0 ? TWRC_FAILURE :MessageBoxA(activeDS.progressWnd, szMessage, szCaption, MB_ICONWARNING | MB_RETRYCANCEL)==IDCANCEL ? TWRC_FAILURE :TWRC_CHECKSTATUS;break;case SANE_STATUS_JAMMED:LoadStringA( SANE_instance, IDS_JAMMED, szMessage, ARRAY_SIZE( szMessage ) );twRC =MessageBoxA(activeDS.progressWnd, szMessage, szCaption, MB_ICONWARNING | MB_RETRYCANCEL)==IDCANCEL ? TWRC_FAILURE :TWRC_CHECKSTATUS;break;case SANE_STATUS_COVER_OPEN:LoadStringA( SANE_instance, IDS_COVER_OPEN, szMessage, ARRAY_SIZE( szMessage ) );twRC =MessageBoxA(activeDS.progressWnd, szMessage, szCaption, MB_ICONWARNING | MB_RETRYCANCEL)==IDCANCEL ? TWRC_FAILURE :TWRC_CHECKSTATUS;
We should use the W versions of these APIs.