Requirements to be a TWAIN-Compliant Source Requirements TWAIN-compliant Sources must support the following: Operations ---------- DG_CONTROL / DAT_CAPABILITY / MSG_GET DG_CONTROL / DAT_CAPABILITY / MSG_GETCURRENT DG_CONTROL / DAT_CAPABILITY / MSG_GETDEFAULT DG_CONTROL / DAT_CAPABILITY / MSG_RESET DG_CONTROL / DAT_CAPABILITY / MSG_SET DG_CONTROL / DAT_EVENT / MSG_PROCESSEVENT DG_CONTROL / DAT_IDENTITY / MSG_GET DG_CONTROL / DAT_IDENTITY / MSG_OPENDS DG_CONTROL / DAT_IDENTITY / MSG_CLOSEDS DG_CONTROL / DAT_PENDINGXFERS / MSG_ENDXFER DG_CONTROL / DAT_PENDINGXFERS / MSG_GET DG_CONTROL / DAT_PENDINGXFERS / MSG_RESET DG_CONTROL / DAT_SETUPMEMXFER / MSG_GET DG_CONTROL / DAT_STATUS / MSG_GET DG_CONTROL / DAT_USERINTERFACE / MSG_DISABLEDS DG_CONTROL / DAT_USERINTERFACE / MSG_ENABLEDS DG_CONTROL / DAT_XFERGROUP / MSG_GET DG_IMAGE / DAT_IMAGEINFO / MSG_GET DG_IMAGE / DAT_IMAGELAYOUT / MSG_GET DG_IMAGE / DAT_IMAGELAYOUT / MSG_GETDEFAULT DG_IMAGE / DAT_IMAGELAYOUT / MSG_RESET DG_IMAGE / DAT_IMAGELAYOUT / MSG_SET DG_IMAGE / DAT_IMAGEMEMXFER / MSG_GET DG_IMAGE / DAT_IMAGENATIVEXFER / MSG_GET Capabilities ------------ Every Source must support all five DG_CONTROL / DAT_CAPABILITY operations on: CAP_XFERCOUNT Every Source must support DG_CONTROL / DAT_CAPABILITY MSG_GET on: CAP_SUPPORTEDCAPS CAP_UICONTROLLABLE Sources that supply image information must support DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT on: ICAP_COMPRESSION ICAP_PLANARCHUNKY ICAP_PHYSICALHEIGHT ICAP_PHYSICALWIDTH ICAP_PIXELFLAVOR Sources that supply image information must support DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT, MSG_RESET and MSG_SET on: ICAP_BITDEPTH ICAP_BITORDER ICAP_PIXELTYPE ICAP_UNITS ICAP_XFERMECH ICAP_XRESOLUTION ICAP_YRESOLUTION All Sources must implement the advertised features supported by their devices. They must make these features available to applications via the TWAIN protocol. For example, a Source thats connected to a device that has an ADF must support DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT on: CAP_FEEDERENABLED CAP_FEEDERLOADED and DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT, MSG_RESET and MSG_SET on: CAP_AUTOFEED If the ADF also supports ejecting and rewinding of pages then the Source should also support DG_CONTROL / DAT_CAPABILITY / MSG_GET, MSG_GETCURRENT, MSG_GETDEFAULT, MSG_RESET and MSG_SET on: CAP_CLEARPAGE CAP_REWINDPAGE ******************************************************************************* From Application to Source Manager (Control Information) Data Group Data Argument Type Message DG_CONTROL DAT_IDENTITY MSG_CLOSEDS MSG_GETDEFAULT MSG_GETFIRST MSG_GETNEXT MSG_OPENDS MSG_USERSELECT DG_CONTROL DAT_PARENT MSG_CLOSEDSM MSG_OPENDSM DG_CONTROL DAT_STATUS MSG_GET From Application to Source (Control Information) Data Group Data Argument Type Message DG_CONTROL DAT_CAPABILITY MSG_GET MSG_GETCURRENT MSG_GETDEFAULT MSG_QUERYSUPPORT MSG_RESET MSG_SET DG_CONTROL DAT_CUSTOMDSDATA MSG_GET MSG_SET DG_CONTROL DAT_FILESYSTEM MSG_AUTOMATICCAPTURE DIRECTORY MSG_CHANGEDIRECTORY MSG_COPY MSG_CREATEDIRECTORY MSG_DELETE MSG_FORMATMEDIA MSG_GETCLOSE MSG_GETFIRSTFILE MSG_GETINFO MSG_GETNEXTFILE MSG_RENAME DG_CONTROL DAT_EVENT MSG_PROCESSEVENT DG_CONTROL DAT_PASSTHRU MSG_PASSTHRU DG_CONTROL DAT_PENDINGXFERS MSG_ENDXFER MSG_GET MSG_RESET MSG_STOPFEEDER DG_CONTROL DAT_SETUPFILEXFER MSG_GET MSG_GETDEFAULT MSG_RESET MSG_SET DG_CONTROL DAT_SETUPFILEXFER2 MSG_GET MSG_GETDEFAULT MSG_RESET MSG_SET DG_CONTROL DAT_SETUPMEMXFER MSG_GET DG_CONTROL DAT_STATUS MSG_GET DG_CONTROL DAT_USERINTERFACE MSG_DISABLEDS MSG_ENABLEDS MSG_ENABLEDSUIONLY DG_CONTROL DAT_XFERGROUP MSG_GET MSG_SET From Application to Source (Image Information) Data Group Data Argument Type Message DG_IMAGE DAT_CIECOLOR MSG_GET DG_IMAGE DAT_EXTIMAGEINFO MSG_GET DG_IMAGE DAT_GRAYRESPONSE MSG_RESET MSG_SET DG_IMAGE DAT_IMAGEFILEXFER MSG_GET DG_IMAGE DAT_IMAGEINFO MSG_GET DG_IMAGE DAT_IMAGELAYOUT MSG_GET MSG_GETDEFAULT MSG_RESET MSG_SET DG_IMAGE DAT_IMAGEMEMXFER MSG_GET DG_IMAGE DAT_IMAGENATIVEXFER MSG_GET DG_IMAGE DAT_JPEGCOMPRESSION MSG_GET MSG_GETDEFAULT MSG_RESET MSG_SET DG_IMAGE DAT_PALETTE8 MSG_GET MSG_GETDEFAULT MSG_RESET MSG_SET DG_IMAGE DAT_RGBRESPONSE MSG_RESET MSG_SET From Application to Source (Audio Information) Data Group Data Argument Type Message DG_AUDIO DAT_AUDIOFILEXFER MSG_GET DG_AUDIO DAT_AUDIOINFO MSG_GET DG_AUDIO DAT_AUDIONATIVEXFER MSG_GET From Source Manager to Source (Control Information) Data Group Data Argument Type Message DG_CONTROL DAT_IDENTITY MSG_CLOSEDS MSG_GET MSG_OPENDS From Source to Application (Control Information via the Source Manager) (Used by Windows Sources only) Data Group Data Argument Type Message DG_CONTROL DAT_NULL MSG_CLOSEDSOK MSG_CLOSEDSREQ MSG_DEVICEEVENT MSG_XFERREADY