Share via


CSDATAFORMAT (Compact 2013)

3/26/2014

This structure is variable-length structure that describes a range of data formats.

Syntax

typedef struct {
  ULONG  FormatSize;
  ULONG  Flags;
  ULONG  SampleSize;
  ULONG  Reserved;
  GUID   MajorFormat;
  GUID   SubFormat;
  GUID   Specifier;
} CSDATAFORMAT, *PCSDATAFORMAT, CSDATARANGE, *PCSDATARANGE;

Members

  • FormatSize
    Specifies the size in bytes of this structure. This must be at least sizeof(CSDATAFORMAT), but may be larger for specific settings of MajorFormat, SubFormat, and Specifier.
  • Flags
    Must be zero.
  • SampleSize
    Specifies the sample size of the data, for fixed sample sizes, or zero if the format has a variable sample size.
  • Reserved
    Reserved for system use. Drivers must set this to zero.
  • MajorFormat
    Specifies the general format type. For a list of predefined major formats, see CSDATAFORMAT_TYPE Values. A data stream that has no particular format should use CSDATAFORMAT_TYPE_STREAM as its MajorFormat.
  • SubFormat
    Specifies the subformat of a general format type. For a list of predefined subformats formats, see CSDATAFORMAT_SUBTYPE Values. Major formats that do not support subformats should use CSDATAFORMAT_SUBTYPE_NONE for this member.
  • Specifier
    Specifies additional data format type information for a specific setting of MajorFormat and Subformat. For a list of predefined specifiers, see CSDATAFORMAT_SPECIFIER Values. The significance of this field is determined by the major format (and subformat, if the major format supports subformats). For example, Specifier may represent a particular encoding of a subformat, or it may be used to specify what type of data structure follows CSDATAFORMAT in memory.
  • The following table shows specifiers defined in the header file Cs.h that are of general use.

    Specifier

    Description

    CSDATAFORMAT_SPECIFIER_NONE

    Stands for no specifier. Used for formats that do not support specifiers.

    CSDATAFORMAT_SPECIFIER_FILENAME

    Indicates that a null-terminated Unicode string immediately follows the CSDATAFORMAT structure in memory.

    CSDATAFORMAT_SPECIFIER_FILEHANDLE

    Indicates that a file handle immediately follows CSDATAFORMAT in memory.

Remarks

At a minimum, a data format is specified by the MajorFormat, SubFormat, and Specifier members. A family of similar data formats may share the same values for MajorFormat, SubFormat, and Specifier. In that case, the specific data format is distinguished by additional data that follows the Specifier member in memory.

Requirements

Header

cs.h

See Also

Reference

Camera Driver Structures
CSDATAFORMAT_TYPE Values
CSDATAFORMAT_SUBTYPE Values
CSDATAFORMAT_SPECIFIER Values