The TRANSFEROPTIONS structure provides information about transfer options to be used in the acquisition process.
typedef struct _tagTransferOptions{L_UINT uStructSize;TWAIN_TRANSFER_MODES TransferMode;L_TCHAR szFileName[L_MAX_PATH];L_UINT uFileFormat;L_UINT uCompType;} TRANSFEROPTIONS, * pTRANSFEROPTIONS;
Size of this structure in bytes, for versioning. Use the sizeof() operator to calculate this value.
Specifies the transfer mode. For possible values, refer to the TWAIN_TRANSFER_MODES enumeration.
Character string that contains the file name to transfer if the TransferMode is set to TWAIN_TRANSFER_FILE flag.
The file format to transfer if the TransferMode is set to TWAIN_TRANSFER_FILE flag. Possible values are (according to the TWAIN specification):
| Value | Meaning | 
|---|---|
| TWFF_TIFF | Tagged image file. | 
| TWFF_PICT | Macintosh PICT. | 
| TWFF_BMP | Windows regular bitmap. | 
| TWFF_XBM | X-Windows bitmap. | 
| TWFF_JFIF | JPEG file interchange format. | 
| TWFF_FPX | Flash pix file. | 
| TWFF_TIFFMULTI | Multipage tiff file format. | 
| TWFF_PNG | PNG file. | 
| TWFF_SPIFF | SPIFF file. | 
| TWFF_EXIF | EXIF file. | 
The compression type to be used if the TransferMode is set to TWAIN_TRANSFER_MEMORY flag.
| Value | Meaning | 
|---|---|
| TWCP_NONE | No compression is to be used. | 
| TWCP_PACKBITS | Pack Bits compression. | 
| TWCP_GROUP31D | CCITT Group 3 compression with no End of Line. | 
| TWCP_GROUP31DEOL | CCITT Group 3 compression with End of Line. | 
| TWCP_GROUP32D | CCITT Group 3 compression (use cap for K Factor). | 
| TWCP_GROUP4 | CCITT Group 4 compression. | 
| TWCP_JPEG | JPEG compression. | 
| TWCP_LZW | LZW compression (like gifs). | 
| TWCP_JBIG | JBIG compression, used mostly for bitonal images. | 
| TWCP_PNG | PNG compressed. | 
| TWCP_RLE4 | RLE4 compression. | 
| TWCP_RLE8 | RLE8 compression. | 
| TWCP_BITFIELDS | Bit Fields compression. | 
pTRANSFEROPTIONS is a pointer to a TRANSFEROPTIONS structure. If the function parameter type is pTRANSFEROPTIONS, declare a TRANSFEROPTIONS variable, update the structure's fields, and pass the variable's address in the parameter. Declaring a pTRANSFEROPTIONS variable is necessary only if the program requires a pointer.