⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 cs.h

📁 freescale i.mx31 BSP CE5.0全部源码
💻 H
📖 第 1 页 / 共 5 页
字号:

#define STATIC_CSCATEGORY_BRIDGE \
    0x085AFF00L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("085AFF00-62CE-11CF-A5D6-28DB04C10000", CSCATEGORY_BRIDGE);
#define CSCATEGORY_BRIDGE DEFINE_GUIDNAMED(CSCATEGORY_BRIDGE)

#define STATIC_CSCATEGORY_CAPTURE \
    0x65E8773DL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("65E8773D-8F56-11D0-A3B9-00A0C9223196", CSCATEGORY_CAPTURE);
#define CSCATEGORY_CAPTURE DEFINE_GUIDNAMED(CSCATEGORY_CAPTURE)

#define STATIC_CSCATEGORY_RENDER \
    0x65E8773EL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("65E8773E-8F56-11D0-A3B9-00A0C9223196", CSCATEGORY_RENDER);
#define CSCATEGORY_RENDER DEFINE_GUIDNAMED(CSCATEGORY_RENDER)

#define STATIC_CSCATEGORY_MIXER \
    0xAD809C00L, 0x7B88, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("AD809C00-7B88-11D0-A5D6-28DB04C10000", CSCATEGORY_MIXER);
#define CSCATEGORY_MIXER DEFINE_GUIDNAMED(CSCATEGORY_MIXER)

#define STATIC_CSCATEGORY_SPLITTER \
    0x0A4252A0L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("0A4252A0-7E70-11D0-A5D6-28DB04C10000", CSCATEGORY_SPLITTER);
#define CSCATEGORY_SPLITTER DEFINE_GUIDNAMED(CSCATEGORY_SPLITTER)

#define STATIC_CSCATEGORY_DATACOMPRESSOR \
    0x1E84C900L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("1E84C900-7E70-11D0-A5D6-28DB04C10000", CSCATEGORY_DATACOMPRESSOR);
#define CSCATEGORY_DATACOMPRESSOR DEFINE_GUIDNAMED(CSCATEGORY_DATACOMPRESSOR)

#define STATIC_CSCATEGORY_DATADECOMPRESSOR \
    0x2721AE20L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("2721AE20-7E70-11D0-A5D6-28DB04C10000", CSCATEGORY_DATADECOMPRESSOR);
#define CSCATEGORY_DATADECOMPRESSOR DEFINE_GUIDNAMED(CSCATEGORY_DATADECOMPRESSOR)

#define STATIC_CSCATEGORY_DATATRANSFORM \
    0x2EB07EA0L, 0x7E70, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("2EB07EA0-7E70-11D0-A5D6-28DB04C10000", CSCATEGORY_DATATRANSFORM);
#define CSCATEGORY_DATATRANSFORM DEFINE_GUIDNAMED(CSCATEGORY_DATATRANSFORM)

#define STATIC_CSCATEGORY_COMMUNICATIONSTRANSFORM \
    0xCF1DDA2CL, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("CF1DDA2C-9743-11D0-A3EE-00A0C9223196", CSCATEGORY_COMMUNICATIONSTRANSFORM);
#define CSCATEGORY_COMMUNICATIONSTRANSFORM DEFINE_GUIDNAMED(CSCATEGORY_COMMUNICATIONSTRANSFORM)

#define STATIC_CSCATEGORY_INTERFACETRANSFORM \
    0xCF1DDA2DL, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("CF1DDA2D-9743-11D0-A3EE-00A0C9223196", CSCATEGORY_INTERFACETRANSFORM);
#define CSCATEGORY_INTERFACETRANSFORM DEFINE_GUIDNAMED(CSCATEGORY_INTERFACETRANSFORM)

#define STATIC_CSCATEGORY_MEDIUMTRANSFORM \
    0xCF1DDA2EL, 0x9743, 0x11D0, 0xA3, 0xEE, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("CF1DDA2E-9743-11D0-A3EE-00A0C9223196", CSCATEGORY_MEDIUMTRANSFORM);
#define CSCATEGORY_MEDIUMTRANSFORM DEFINE_GUIDNAMED(CSCATEGORY_MEDIUMTRANSFORM)

#define STATIC_CSCATEGORY_FILESYSTEM \
    0x760FED5EL, 0x9357, 0x11D0, 0xA3, 0xCC, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("760FED5E-9357-11D0-A3CC-00A0C9223196", CSCATEGORY_FILESYSTEM);
#define CSCATEGORY_FILESYSTEM DEFINE_GUIDNAMED(CSCATEGORY_FILESYSTEM)

// CSNAME_Clock
#define STATIC_CSCATEGORY_CLOCK \
    0x53172480L, 0x4791, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("53172480-4791-11D0-A5D6-28DB04C10000", CSCATEGORY_CLOCK);
#define CSCATEGORY_CLOCK DEFINE_GUIDNAMED(CSCATEGORY_CLOCK)

#define STATIC_CSCATEGORY_PROXY \
    0x97EBAACAL, 0x95BD, 0x11D0, 0xA3, 0xEA, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("97EBAACA-95BD-11D0-A3EA-00A0C9223196", CSCATEGORY_PROXY);
#define CSCATEGORY_PROXY DEFINE_GUIDNAMED(CSCATEGORY_PROXY)

#define STATIC_CSCATEGORY_QUALITY \
    0x97EBAACBL, 0x95BD, 0x11D0, 0xA3, 0xEA, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("97EBAACB-95BD-11D0-A3EA-00A0C9223196", CSCATEGORY_QUALITY);
#define CSCATEGORY_QUALITY DEFINE_GUIDNAMED(CSCATEGORY_QUALITY)

typedef struct {
    ULONG   FromNode;
    ULONG   FromNodePin;
    ULONG   ToNode;
    ULONG   ToNodePin;
} CSTOPOLOGY_CONNECTION, *PCSTOPOLOGY_CONNECTION;

typedef struct {
    ULONG                           CategoriesCount;
    const GUID*                     Categories;
    ULONG                           TopologyNodesCount;
    const GUID*                     TopologyNodes;
    ULONG                           TopologyConnectionsCount;
    const CSTOPOLOGY_CONNECTION*    TopologyConnections;
    const GUID*                     TopologyNodesNames;
    ULONG                           Reserved;
} CSTOPOLOGY, *PCSTOPOLOGY;

#define CSFILTER_NODE   ((ULONG)-1)
#define CSALL_NODES     ((ULONG)-1)

typedef struct {
    ULONG       CreateFlags;
    ULONG       Node;
} CSNODE_CREATE, *PCSNODE_CREATE;

//===========================================================================

// TIME_FORMAT_NONE
#define STATIC_CSTIME_FORMAT_NONE       STATIC_GUID_NULL
#define CSTIME_FORMAT_NONE              GUID_NULL

// TIME_FORMAT_FRAME
#define STATIC_CSTIME_FORMAT_FRAME\
    0x7b785570L, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6
DEFINE_GUIDSTRUCT("7b785570-8c82-11cf-bc0c-00aa00ac74f6", CSTIME_FORMAT_FRAME);
#define CSTIME_FORMAT_FRAME DEFINE_GUIDNAMED(CSTIME_FORMAT_FRAME)

// TIME_FORMAT_BYTE             
#define STATIC_CSTIME_FORMAT_BYTE\
    0x7b785571L, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6
DEFINE_GUIDSTRUCT("7b785571-8c82-11cf-bc0c-00aa00ac74f6", CSTIME_FORMAT_BYTE);
#define CSTIME_FORMAT_BYTE DEFINE_GUIDNAMED(CSTIME_FORMAT_BYTE)

// TIME_FORMAT_SAMPLE
#define STATIC_CSTIME_FORMAT_SAMPLE\
    0x7b785572L, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6
DEFINE_GUIDSTRUCT("7b785572-8c82-11cf-bc0c-00aa00ac74f6", CSTIME_FORMAT_SAMPLE);
#define CSTIME_FORMAT_SAMPLE DEFINE_GUIDNAMED(CSTIME_FORMAT_SAMPLE)

// TIME_FORMAT_FIELD
#define STATIC_CSTIME_FORMAT_FIELD\
    0x7b785573L, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6
DEFINE_GUIDSTRUCT("7b785573-8c82-11cf-bc0c-00aa00ac74f6", CSTIME_FORMAT_FIELD);
#define CSTIME_FORMAT_FIELD DEFINE_GUIDNAMED(CSTIME_FORMAT_FIELD)

// TIME_FORMAT_MEDIA_TIME
#define STATIC_CSTIME_FORMAT_MEDIA_TIME\
    0x7b785574L, 0x8c82, 0x11cf, 0xbc, 0x0c, 0x00, 0xaa, 0x00, 0xac, 0x74, 0xf6
DEFINE_GUIDSTRUCT("7b785574-8c82-11cf-bc0c-00aa00ac74f6", CSTIME_FORMAT_MEDIA_TIME);
#define CSTIME_FORMAT_MEDIA_TIME DEFINE_GUIDNAMED(CSTIME_FORMAT_MEDIA_TIME)


//===========================================================================

typedef CSIDENTIFIER CSPIN_INTERFACE, *PCSPIN_INTERFACE;

#define STATIC_CSINTERFACESETID_Standard \
    0x1A8766A0L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("1A8766A0-62CE-11CF-A5D6-28DB04C10000", CSINTERFACESETID_Standard);
#define CSINTERFACESETID_Standard DEFINE_GUIDNAMED(CSINTERFACESETID_Standard)

typedef enum {
    CSINTERFACE_STANDARD_STREAMING,
    CSINTERFACE_STANDARD_LOOPED_STREAMING,
    CSINTERFACE_STANDARD_CONTROL
} CSINTERFACE_STANDARD;

#define STATIC_CSINTERFACESETID_FileIo \
    0x8C6F932CL, 0xE771, 0x11D0, 0xB8, 0xFF, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("8C6F932C-E771-11D0-B8FF-00A0C9223196", CSINTERFACESETID_FileIo);
#define CSINTERFACESETID_FileIo DEFINE_GUIDNAMED(CSINTERFACESETID_FileIo)

typedef enum {
    CSINTERFACE_FILEIO_STREAMING
} CSINTERFACE_FILEIO;

//===========================================================================

#define CSMEDIUM_TYPE_ANYINSTANCE       0

#define STATIC_CSMEDIUMSETID_Standard \
    0x4747B320L, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("4747B320-62CE-11CF-A5D6-28DB04C10000", CSMEDIUMSETID_Standard);
#define CSMEDIUMSETID_Standard DEFINE_GUIDNAMED(CSMEDIUMSETID_Standard)

//For compatibility only
#define CSMEDIUM_STANDARD_DEVIO     CSMEDIUM_TYPE_ANYINSTANCE
#endif  //#ifndef UNDER_CE
//===========================================================================

#define STATIC_CSPROPSETID_Pin\
    0x8C134960L, 0x51AD, 0x11CF, 0x87, 0x8A, 0x94, 0xF8, 0x01, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("8C134960-51AD-11CF-878A-94F801C10000", CSPROPSETID_Pin);
#define CSPROPSETID_Pin DEFINE_GUIDNAMED(CSPROPSETID_Pin)

typedef enum {
    CSPROPERTY_PIN_CINSTANCES=0,
    CSPROPERTY_PIN_CTYPES,
#ifndef UNDER_CE
	CSPROPERTY_PIN_DATAFLOW,
#endif //#ifndef UNDER_CE
	CSPROPERTY_PIN_DATARANGES,
    CSPROPERTY_PIN_DATAINTERSECTION,
#ifndef UNDER_CE
	CSPROPERTY_PIN_INTERFACES,
    CSPROPERTY_PIN_MEDIUMS,
    CSPROPERTY_PIN_COMMUNICATION,
    CSPROPERTY_PIN_GLOBALCINSTANCES,
    CSPROPERTY_PIN_NECESSARYINSTANCES,
    CSPROPERTY_PIN_PHYSICALCONNECTION,
#endif //#ifndef UNDER_CE
	CSPROPERTY_PIN_CATEGORY,
    CSPROPERTY_PIN_NAME,
#ifdef UNDER_CE
    CSPROPERTY_PIN_DEVICENAME
#endif // UNDER_CE
#ifndef UNDER_CE
	,
    CSPROPERTY_PIN_CONSTRAINEDDATARANGES,
    CSPROPERTY_PIN_PROPOSEDATAFORMAT
#endif //#ifndef UNDER_CE
} CSPROPERTY_PIN;

typedef struct {
    CSPROPERTY      Property;
    ULONG           PinId;
    ULONG           Reserved;
} CSP_PIN, *PCSP_PIN;

#define CSINSTANCE_INDETERMINATE    ((ULONG)-1)

typedef struct {
    ULONG  PossibleCount;
    ULONG  CurrentCount;
} CSPIN_CINSTANCES, *PCSPIN_CINSTANCES;

#ifndef UNDER_CE
typedef enum {
    CSPIN_DATAFLOW_IN = 1,
    CSPIN_DATAFLOW_OUT
} CSPIN_DATAFLOW, *PCSPIN_DATAFLOW;
#endif //#ifndef UNDER_CE

#define CSDATAFORMAT_BIT_TEMPORAL_COMPRESSION   0
#define CSDATAFORMAT_TEMPORAL_COMPRESSION       (1 << CSDATAFORMAT_BIT_TEMPORAL_COMPRESSION)
#define CSDATAFORMAT_BIT_ATTRIBUTES 1
#define CSDATAFORMAT_ATTRIBUTES (1 << CSDATAFORMAT_BIT_ATTRIBUTES)

#define CSDATARANGE_BIT_ATTRIBUTES 1
#define CSDATARANGE_ATTRIBUTES (1 << CSDATARANGE_BIT_ATTRIBUTES)
#define CSDATARANGE_BIT_REQUIRED_ATTRIBUTES 2
#define CSDATARANGE_REQUIRED_ATTRIBUTES (1 << CSDATARANGE_BIT_REQUIRED_ATTRIBUTES)

#if !defined( _MSC_VER ) 
typedef struct {
    ULONG   FormatSize;
    ULONG   Flags;
    ULONG   SampleSize;
    ULONG   Reserved;
    GUID    MajorFormat;
    GUID    SubFormat;
    GUID    Specifier;
} CSDATAFORMAT, *PCSDATAFORMAT, CSDATARANGE, *PCSDATARANGE;
#else
typedef union {
    struct {
        ULONG   FormatSize;
        ULONG   Flags;
        ULONG   SampleSize;
        ULONG   Reserved;
        GUID    MajorFormat;
        GUID    SubFormat;
        GUID    Specifier;
    };
    LONGLONG    Alignment;
} CSDATAFORMAT, *PCSDATAFORMAT, CSDATARANGE, *PCSDATARANGE;
#endif

#define CSATTRIBUTE_REQUIRED 0x00000001

#ifndef UNDER_CE
typedef struct {
    ULONG Size;
    ULONG Flags;
    GUID Attribute;
} CSATTRIBUTE, *PCSATTRIBUTE;

typedef enum {
    CSPIN_COMMUNICATION_NONE,
    CSPIN_COMMUNICATION_SINK,
    CSPIN_COMMUNICATION_SOURCE,
    CSPIN_COMMUNICATION_BOTH,
    CSPIN_COMMUNICATION_BRIDGE
} CSPIN_COMMUNICATION, *PCSPIN_COMMUNICATION;

typedef CSIDENTIFIER CSPIN_MEDIUM, *PCSPIN_MEDIUM;

typedef struct {
    CSPIN_INTERFACE Interface;
    CSPIN_MEDIUM    Medium;
    ULONG           PinId;
    HANDLE          PinToHandle;
    CSPRIORITY      Priority;
} CSPIN_CONNECT, *PCSPIN_CONNECT;

typedef struct {
    ULONG   Size;
    ULONG   Pin;
    WCHAR   SymbolicLinkName[1];
} CSPIN_PHYSICALCONNECTION, *PCSPIN_PHYSICALCONNECTION;

#if defined(_NTDDK_)
typedef
NTSTATUS
(*PFNCSINTERSECTHANDLER)(
    IN PIRP Irp,
    IN PCSP_PIN Pin,
    IN PCSDATARANGE DataRange,
    OUT PVOID Data OPTIONAL
    );
typedef
NTSTATUS
(*PFNCSINTERSECTHANDLEREX)(
    IN PVOID Context,
    IN PIRP Irp,
    IN PCSP_PIN Pin,
    IN PCSDATARANGE DataRange,
    IN PCSDATARANGE MatchingDataRange,
    IN ULONG DataBufferSize,
    OUT PVOID Data OPTIONAL,
    OUT PULONG DataSize
    );
#endif // _NTDDK_

#define DEFINE_CSPIN_INTERFACE_TABLE(tablename)\
    const CSPIN_INTERFACE tablename[] =

#define DEFINE_CSPIN_INTERFACE_ITEM(guid, interface)\
    {\
        STATICGUIDOF(guid),\
        (interface),\
        0\
    }

#endif //#ifndef UNDER_CE

#define DEFINE_CSPROPERTY_ITEM_PIN_CINSTANCES(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_CINSTANCES,\
        (Handler),\
        sizeof(CSP_PIN),\
        sizeof(CSPIN_CINSTANCES),\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_CTYPES(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_CTYPES,\
        (Handler),\
        sizeof(CSPROPERTY),\
        sizeof(ULONG),\
        NULL, NULL, 0, NULL, NULL, 0)

#ifndef UNDER_CE
#define DEFINE_CSPROPERTY_ITEM_PIN_DATAFLOW(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_DATAFLOW,\
        (Handler),\
        sizeof(CSP_PIN),\
        sizeof(CSPIN_DATAFLOW),\
        NULL, NULL, 0, NULL, NULL, 0)
#endif //#ifndef UNDER_CE

#define DEFINE_CSPROPERTY_ITEM_PIN_DATARANGES(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_DATARANGES,\
        (Handler),\
        sizeof(CSP_PIN),\
        0,\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_DATAINTERSECTION(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_DATAINTERSECTION,\
        (Handler),\
        sizeof(CSP_PIN) + sizeof(CSMULTIPLE_ITEM),\
        0,\
        NULL, NULL, 0, NULL, NULL, 0)

#ifndef UNDER_CE
#define DEFINE_CSPROPERTY_ITEM_PIN_INTERFACES(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_INTERFACES,\
        (Handler),\
        sizeof(CSP_PIN),\
        0,\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_MEDIUMS(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_MEDIUMS,\
        (Handler),\
        sizeof(CSP_PIN),\

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -