Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

176 lines
7.4 KiB

/*******************************************************************************
*
* (C) COPYRIGHT MICROSOFT CORP., 1998
*
* TITLE: WiaTiff.h
*
* VERSION: 2.0
*
* DATE: 28 Aug, 1998
*
* DESCRIPTION:
* Definitions and declarations of TIFF helpers for the WIA class driver.
*
*******************************************************************************/
#pragma pack (push, 4)
#pragma pack (2)
typedef struct _TIFF_FILE_HEADER {
WORD ByteOrder;
WORD Signature;
LONG OffsetIFD;
} TIFF_FILE_HEADER, *PTIFF_FILE_HEADER;
typedef struct _TIFF_DIRECTORY_ENTRY {
WORD Tag;
WORD DataType;
DWORD Count;
DWORD Value;
} TIFF_DIRECTORY_ENTRY, *PTIFF_DIRECTORY_ENTRY;
typedef struct _TIFF_HEADER {
SHORT NumTags;
TIFF_DIRECTORY_ENTRY NewSubfileType;
TIFF_DIRECTORY_ENTRY ImageWidth;
TIFF_DIRECTORY_ENTRY ImageLength;
TIFF_DIRECTORY_ENTRY BitsPerSample;
TIFF_DIRECTORY_ENTRY Compression;
TIFF_DIRECTORY_ENTRY PhotometricInterpretation;
TIFF_DIRECTORY_ENTRY StripOffsets;
TIFF_DIRECTORY_ENTRY RowsPerStrip;
TIFF_DIRECTORY_ENTRY StripByteCounts;
TIFF_DIRECTORY_ENTRY XResolution;
TIFF_DIRECTORY_ENTRY YResolution;
TIFF_DIRECTORY_ENTRY ResolutionUnit;
LONG NextIFD;
LONG XResValue;
LONG XResCount;
LONG YResValue;
LONG YResCount;
} TIFF_HEADER, *PTIFF_HEADER;
#pragma pack (pop, 4)
//
// TIFF date types
//
#define TIFF_TYPE_BYTE 1 // 8-bit unsigned integer.
#define TIFF_TYPE_ASCII 2 // 8-bit byte that contains a 7-bit ASCII code; the last byte
// must be NUL (binary zero).
#define TIFF_TYPE_SHORT 3 // 16-bit (2-byte) unsigned integer.
#define TIFF_TYPE_LONG 4 // LONG 32-bit (4-byte) unsigned integer.
#define TIFF_TYPE_RATIONAL 5 // Two LONGs: the first represents the numerator of a
// fraction; the second, the denominator.
#define TIFF_TYPE_SBYTE 6 // An 8-bit signed (twos-complement) integer.
#define TIFF_TYPE_UNDEFINED 7 // An 8-bit byte that may contain anything, depending on
// the definition of the field.
#define TIFF_TYPE_SSHORT 8 // A 16-bit (2-byte) signed (twos-complement) integer.
#define TIFF_TYPE_SLONG 9 // 32-bit (4-byte) signed (twos-complement) integer.
#define TIFF_TYPE_SRATIONAL 10 // Two SLONG's: the first represents the numerator
// of a fraction, the second the denominator.
#define TIFF_TYPE_FLOAT 11 // Single precision (4-byte) IEEE format.
#define TIFF_TYPE_DOUBLE 12 // Double precision (8-byte) IEEE format.
//
// tiff tags
//
#define TIFF_TAG_NewSubfileType 254
#define TIFF_TAG_SubfileType 255
#define TIFF_TAG_ImageWidth 256
#define TIFF_TAG_ImageLength 257
#define TIFF_TAG_BitsPerSample 258
#define TIFF_TAG_Compression 259
#define TIFF_CMP_Uncompressed 1
#define TIFF_CMP_CCITT_1D 2
#define TIFF_CMP_Group_3_FAX 3
#define TIFF_CMP_Group_4_FAX 4
#define TIFF_CMP_LZW 5
#define TIFF_CMP_JPEG 6
#define TIFF_CMP_PackBits 32773
#define TIFF_TAG_PhotometricInterpretation 262
#define TIFF_PMI_WhiteIsZero 0
#define TIFF_PMI_BlackIsZero 1
#define TIFF_PMI_RGB 2
#define TIFF_PMI_RGB_Palette 3
#define TIFF_PMI_Transparency_mask 4
#define TIFF_PMI_CMYK 5
#define TIFF_PMI_YCbCr 6
#define TIFF_PMI_CIELab 8
#define TIFF_TAG_Threshholding 263
#define TIFF_TAG_CellWidth 264
#define TIFF_TAG_CellLength 265
#define TIFF_TAG_FillOrder 266
#define TIFF_TAG_DocumentName 269
#define TIFF_TAG_ImageDescription 270
#define TIFF_TAG_Make 271
#define TIFF_TAG_Model 272
#define TIFF_TAG_StripOffsets 273
#define TIFF_TAG_Orientation 274
#define TIFF_TAG_SamplesPerPixel 277
#define TIFF_TAG_RowsPerStrip 278
#define TIFF_TAG_StripByteCounts 279
#define TIFF_TAG_MinSampleValue 280
#define TIFF_TAG_MaxSampleValue 281
#define TIFF_TAG_XResolution 282
#define TIFF_TAG_YResolution 283
#define TIFF_TAG_PlanarConfiguration 284
#define TIFF_TAG_PageName 285
#define TIFF_TAG_XPosition 286
#define TIFF_TAG_YPosition 287
#define TIFF_TAG_FreeOffsets 288
#define TIFF_TAG_FreeByteCounts 289
#define TIFF_TAG_GrayResponseUnit 290
#define TIFF_TAG_GrayResponseCurve 291
#define TIFF_TAG_T4Options 292
#define TIFF_TAG_T6Options 293
#define TIFF_TAG_ResolutionUnit 296
#define TIFF_TAG_PageNumber 297
#define TIFF_TAG_TransferFunction 301
#define TIFF_TAG_Software 305
#define TIFF_TAG_DateTime 306
#define TIFF_TAG_Artist 315
#define TIFF_TAG_HostComputer 316
#define TIFF_TAG_Predictor 317
#define TIFF_TAG_WhitePoint 318
#define TIFF_TAG_PrimaryChromaticities 319
#define TIFF_TAG_ColorMap 320
#define TIFF_TAG_HalftoneHints 321
#define TIFF_TAG_TileWidth 322
#define TIFF_TAG_TileLength 323
#define TIFF_TAG_TileOffsets 324
#define TIFF_TAG_TileByteCounts 325
#define TIFF_TAG_InkSet 332
#define TIFF_TAG_InkNames 333
#define TIFF_TAG_NumberOfInks 334
#define TIFF_TAG_DotRange 336
#define TIFF_TAG_TargetPrinter 337
#define TIFF_TAG_SampleFormat 339
#define TIFF_TAG_SMinSampleValue 340
#define TIFF_TAG_SMaxSampleValue 341
#define TIFF_TAG_TransferRange 342
#define TIFF_TAG_JPEGProc 512
#define TIFF_TAG_JPEGInterchangeFormat 513
#define TIFF_TAG_JPEGInterchangeFormatLngth 514
#define TIFF_TAG_JPEGRestartInterval 515
#define TIFF_TAG_JPEGLosslessPredictors 517
#define TIFF_TAG_JPEGPointTransforms 518
#define TIFF_TAG_JPEGQTables 519
#define TIFF_TAG_JPEGDCTables 520
#define TIFF_TAG_JPEGACTables 521
#define TIFF_TAG_YCbCrCoefficients 529
#define TIFF_TAG_YCbCrSubSampling 530
#define TIFF_TAG_YCbCrPositioning 531
#define TIFF_TAG_ReferenceBlackWhite 532
#define TIFF_TAG_Copyright 33432
//
// Prototypes
//
HRESULT _stdcall GetTIFFImageInfo(PMINIDRV_TRANSFER_CONTEXT);
HRESULT _stdcall GetMultiPageTIFFImageInfo(PMINIDRV_TRANSFER_CONTEXT);
HRESULT _stdcall WritePageToMultiPageTiff(PMINIDRV_TRANSFER_CONTEXT);