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.
-- https://gitlab.winehq.org/wine/wine/-/merge_requests/9530#note_123156