TW_UINT16 SANE_SaneSetDefaults (void) { TW_CAPABILITY cap; memset(&cap, 0, sizeof(cap)); cap.Cap = CAP_AUTOFEED; cap.ConType = TWON_DONTCARE16; if (SANE_SaneCapability(&cap, MSG_RESET) == TWCC_SUCCESS) GlobalFree(cap.hContainer); memset(&cap, 0, sizeof(cap)); cap.Cap = CAP_FEEDERENABLED; cap.ConType = TWON_DONTCARE16; if (SANE_SaneCapability(&cap, MSG_RESET) == TWCC_SUCCESS) GlobalFree(cap.hContainer); memset(&cap, 0, sizeof(cap)); cap.Cap = ICAP_SUPPORTEDSIZES; cap.ConType = TWON_DONTCARE16; if (SANE_SaneCapability(&cap, MSG_RESET) == TWCC_SUCCESS) GlobalFree(cap.hContainer); return TWCC_SUCCESS; }
/* DG_CONTROL/DAT_CAPABILITY/MSG_SET */ TW_UINT16 SANE_CapabilitySet (pTW_IDENTITY pOrigin, TW_MEMREF pData) { TW_UINT16 twRC = TWRC_SUCCESS, twCC = TWCC_SUCCESS; pTW_CAPABILITY pCapability = (pTW_CAPABILITY) pData; TRACE ("DG_CONTROL/DAT_CAPABILITY/MSG_SET\n"); if (activeDS.currentState != 4) { twRC = TWRC_FAILURE; activeDS.twCC = TWCC_SEQERROR; } else { twCC = SANE_SaneCapability (pCapability, MSG_SET); if (twCC == TWCC_CHECKSTATUS) { twCC = TWCC_SUCCESS; twRC = TWRC_CHECKSTATUS; } else twRC = (twCC == TWCC_SUCCESS)?TWRC_SUCCESS:TWRC_FAILURE; activeDS.twCC = twCC; } return twRC; }
/* DG_CONTROL/DAT_CAPABILITY/MSG_GETDEFAULT */ TW_UINT16 SANE_CapabilityGetDefault (pTW_IDENTITY pOrigin, TW_MEMREF pData) { TW_UINT16 twRC = TWRC_SUCCESS, twCC = TWCC_SUCCESS; pTW_CAPABILITY pCapability = (pTW_CAPABILITY) pData; TRACE("DG_CONTROL/DAT_CAPABILITY/MSG_GETDEFAULT\n"); if (activeDS.currentState < 4 || activeDS.currentState > 7) { twRC = TWRC_FAILURE; activeDS.twCC = TWCC_SEQERROR; } else { twCC = SANE_SaneCapability (pCapability, MSG_GETDEFAULT); twRC = (twCC == TWCC_SUCCESS)?TWRC_SUCCESS:TWRC_FAILURE; activeDS.twCC = twCC; } return twRC; }