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

📄 cs.h

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

#define DEFINE_CSPROPERTY_ITEM_PIN_COMMUNICATION(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_COMMUNICATION,\
        (Handler),\
        sizeof(CSP_PIN),\
        sizeof(CSPIN_COMMUNICATION),\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_GLOBALCINSTANCES(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_GLOBALCINSTANCES,\
        (Handler),\
        sizeof(CSP_PIN),\
        sizeof(CSPIN_CINSTANCES),\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_NECESSARYINSTANCES(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_NECESSARYINSTANCES,\
        (Handler),\
        sizeof(CSP_PIN),\
        sizeof(ULONG),\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_PHYSICALCONNECTION(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_PHYSICALCONNECTION,\
        (Handler),\
        sizeof(CSP_PIN),\
        0,\
        NULL, NULL, 0, NULL, NULL, 0)

#endif //#ifndef UNDER_CE

#define DEFINE_CSPROPERTY_ITEM_PIN_CATEGORY(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_CATEGORY,\
        (Handler),\
        sizeof(CSP_PIN),\
        sizeof(GUID),\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_NAME(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_NAME,\
        (Handler),\
        sizeof(CSP_PIN),\
        0,\
        NULL, NULL, 0, NULL, NULL, 0)

#ifndef UNDER_CE
#define DEFINE_CSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_CONSTRAINEDDATARANGES,\
        (Handler),\
        sizeof(CSP_PIN),\
        0,\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_PIN_PROPOSEDATAFORMAT(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_PIN_PROPOSEDATAFORMAT,\
        NULL,\
        sizeof(CSP_PIN),\
        sizeof(CSDATAFORMAT),\
        (Handler), NULL, 0, NULL, NULL, 0)

#endif //#ifndef UNDER_CE

#define DEFINE_CSPROPERTY_PINSET(PinSet,\
    PropGeneral, PropInstances, PropIntersection) \
DEFINE_CSPROPERTY_TABLE(PinSet) {\
    DEFINE_CSPROPERTY_ITEM_PIN_CINSTANCES(PropInstances),\
    DEFINE_CSPROPERTY_ITEM_PIN_CTYPES(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\
	DEFINE_CSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_NAME(PropGeneral)\
}

#ifndef UNDER_CE
#define DEFINE_CSPROPERTY_PINSETCONSTRAINED(PinSet,\
    PropGeneral, PropInstances, PropIntersection)\
DEFINE_CSPROPERTY_TABLE(PinSet) {\
    DEFINE_CSPROPERTY_ITEM_PIN_CINSTANCES(PropInstances),\
    DEFINE_CSPROPERTY_ITEM_PIN_CTYPES(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_DATAFLOW(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_DATARANGES(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_DATAINTERSECTION(PropIntersection),\
    DEFINE_CSPROPERTY_ITEM_PIN_INTERFACES(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_MEDIUMS(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_COMMUNICATION(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_CATEGORY(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_NAME(PropGeneral),\
    DEFINE_CSPROPERTY_ITEM_PIN_CONSTRAINEDDATARANGES(PropGeneral)\
}

#define STATIC_CSNAME_Filter\
    0x9b365890L, 0x165f, 0x11d0, 0xa1, 0x95, 0x00, 0x20, 0xaf, 0xd1, 0x56, 0xe4
DEFINE_GUIDSTRUCT("9b365890-165f-11d0-a195-0020afd156e4", CSNAME_Filter);
#define CSNAME_Filter DEFINE_GUIDNAMED(CSNAME_Filter)

#define CSSTRING_Filter L"{9B365890-165F-11D0-A195-0020AFD156E4}"

#define STATIC_CSNAME_Pin\
    0x146F1A80L, 0x4791, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("146F1A80-4791-11D0-A5D6-28DB04C10000", CSNAME_Pin);
#define CSNAME_Pin DEFINE_GUIDNAMED(CSNAME_Pin)

#define CSSTRING_Pin L"{146F1A80-4791-11D0-A5D6-28DB04C10000}"

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

#define CSSTRING_Clock L"{53172480-4791-11D0-A5D6-28DB04C10000}"

#define STATIC_CSNAME_Allocator\
    0x642F5D00L, 0x4791, 0x11D0, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("642F5D00-4791-11D0-A5D6-28DB04C10000", CSNAME_Allocator);
#define CSNAME_Allocator DEFINE_GUIDNAMED(CSNAME_Allocator)

#define CSSTRING_Allocator L"{642F5D00-4791-11D0-A5D6-28DB04C10000}"

#define CSSTRING_AllocatorEx L"{091BB63B-603F-11D1-B067-00A0C9062802}"

#define STATIC_CSNAME_TopologyNode\
    0x0621061AL, 0xEE75, 0x11D0, 0xB9, 0x15, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("0621061A-EE75-11D0-B915-00A0C9223196", CSNAME_TopologyNode);
#define CSNAME_TopologyNode DEFINE_GUIDNAMED(CSNAME_TopologyNode)

#define CSSTRING_TopologyNode L"{0621061A-EE75-11D0-B915-00A0C9223196}"

#if defined(_NTDDK_)

typedef struct {
    ULONG                   InterfacesCount;
    const CSPIN_INTERFACE*  Interfaces;
    ULONG                   MediumsCount;
    const CSPIN_MEDIUM*     Mediums;
    ULONG                   DataRangesCount;
    const PCSDATARANGE*     DataRanges;
    CSPIN_DATAFLOW          DataFlow;
    CSPIN_COMMUNICATION     Communication;
    const GUID*             Category;
    const GUID*             Name;
    union {
        LONGLONG            Reserved;
        struct {
            ULONG           ConstrainedDataRangesCount;
            PCSDATARANGE*   ConstrainedDataRanges;
        };
    };
} CSPIN_DESCRIPTOR, *PCSPIN_DESCRIPTOR;
typedef const CSPIN_DESCRIPTOR *PCCSPIN_DESCRIPTOR;

#define DEFINE_CSPIN_DESCRIPTOR_TABLE(tablename)\
    const CSPIN_DESCRIPTOR tablename[] =

#define DEFINE_CSPIN_DESCRIPTOR_ITEM(\
    InterfacesCount, Interfaces,\
    MediumsCount, Mediums,\
    DataRangesCount, DataRanges,\
    DataFlow, Communication)\
{\
    InterfacesCount, Interfaces, MediumsCount, Mediums,\
    DataRangesCount, DataRanges, DataFlow, Communication,\
    NULL, NULL, 0\
}
#define DEFINE_CSPIN_DESCRIPTOR_ITEMEX(\
    InterfacesCount, Interfaces,\
    MediumsCount, Mediums,\
    DataRangesCount, DataRanges,\
    DataFlow, Communication,\
    Category, Name)\
{\
    InterfacesCount, Interfaces, MediumsCount, Mediums,\
    DataRangesCount, DataRanges, DataFlow, Communication,\
    Category, Name, 0\
}

#endif // defined(_NTDDK_)
#endif //#ifndef UNDER_CE
//===========================================================================

// MEDIATYPE_NULL
#define STATIC_CSDATAFORMAT_TYPE_WILDCARD       STATIC_GUID_NULL
#define CSDATAFORMAT_TYPE_WILDCARD              GUID_NULL

// MEDIASUBTYPE_NULL
#define STATIC_CSDATAFORMAT_SUBTYPE_WILDCARD    STATIC_GUID_NULL
#define CSDATAFORMAT_SUBTYPE_WILDCARD           GUID_NULL

// MEDIATYPE_Stream
#define STATIC_CSDATAFORMAT_TYPE_STREAM\
    0xE436EB83L, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70
DEFINE_GUIDSTRUCT("E436EB83-524F-11CE-9F53-0020AF0BA770", CSDATAFORMAT_TYPE_STREAM);
#define CSDATAFORMAT_TYPE_STREAM DEFINE_GUIDNAMED(CSDATAFORMAT_TYPE_STREAM)

// MEDIASUBTYPE_None
#define STATIC_CSDATAFORMAT_SUBTYPE_NONE\
    0xE436EB8EL, 0x524F, 0x11CE, 0x9F, 0x53, 0x00, 0x20, 0xAF, 0x0B, 0xA7, 0x70
DEFINE_GUIDSTRUCT("E436EB8E-524F-11CE-9F53-0020AF0BA770", CSDATAFORMAT_SUBTYPE_NONE);
#define CSDATAFORMAT_SUBTYPE_NONE DEFINE_GUIDNAMED(CSDATAFORMAT_SUBTYPE_NONE)

#define STATIC_CSDATAFORMAT_SPECIFIER_WILDCARD  STATIC_GUID_NULL
#define CSDATAFORMAT_SPECIFIER_WILDCARD         GUID_NULL

#define STATIC_CSDATAFORMAT_SPECIFIER_FILENAME\
    0xAA797B40L, 0xE974, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("AA797B40-E974-11CF-A5D6-28DB04C10000", CSDATAFORMAT_SPECIFIER_FILENAME);
#define CSDATAFORMAT_SPECIFIER_FILENAME DEFINE_GUIDNAMED(CSDATAFORMAT_SPECIFIER_FILENAME)

#define STATIC_CSDATAFORMAT_SPECIFIER_FILEHANDLE\
    0x65E8773CL, 0x8F56, 0x11D0, 0xA3, 0xB9, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("65E8773C-8F56-11D0-A3B9-00A0C9223196", CSDATAFORMAT_SPECIFIER_FILEHANDLE);
#define CSDATAFORMAT_SPECIFIER_FILEHANDLE DEFINE_GUIDNAMED(CSDATAFORMAT_SPECIFIER_FILEHANDLE)

// FORMAT_None
#define STATIC_CSDATAFORMAT_SPECIFIER_NONE\
    0x0F6417D6L, 0xC318, 0x11D0, 0xA4, 0x3F, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("0F6417D6-C318-11D0-A43F-00A0C9223196", CSDATAFORMAT_SPECIFIER_NONE);
#define CSDATAFORMAT_SPECIFIER_NONE DEFINE_GUIDNAMED(CSDATAFORMAT_SPECIFIER_NONE)

#ifndef UNDER_CE
//===========================================================================

#define STATIC_CSPROPSETID_Quality \
    0xD16AD380L, 0xAC1A, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("D16AD380-AC1A-11CF-A5D6-28DB04C10000", CSPROPSETID_Quality);
#define CSPROPSETID_Quality DEFINE_GUIDNAMED(CSPROPSETID_Quality)

typedef enum {
    CSPROPERTY_QUALITY_REPORT,
    CSPROPERTY_QUALITY_ERROR
} CSPROPERTY_QUALITY;

#define DEFINE_CSPROPERTY_ITEM_QUALITY_REPORT(GetHandler, SetHandler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_QUALITY_REPORT,\
        (GetHandler),\
        sizeof(CSPROPERTY),\
        sizeof(CSQUALITY),\
        (SetHandler),\
        NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_QUALITY_ERROR(GetHandler, SetHandler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_QUALITY_ERROR,\
        (GetHandler),\
        sizeof(CSPROPERTY),\
        sizeof(CSERROR),\
        (SetHandler),\
        NULL, 0, NULL, NULL, 0)

#endif //#ifndef UNDER_CE
//===========================================================================

#define STATIC_CSPROPSETID_Connection \
    0x1D58C920L, 0xAC9B, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("1D58C920-AC9B-11CF-A5D6-28DB04C10000", CSPROPSETID_Connection);
#define CSPROPSETID_Connection DEFINE_GUIDNAMED(CSPROPSETID_Connection)

typedef enum {
    CSPROPERTY_CONNECTION_STATE,
#ifndef UNDER_CE
	CSPROPERTY_CONNECTION_PRIORITY,
#endif //#ifndef UNDER_CE
    CSPROPERTY_CONNECTION_DATAFORMAT,
    CSPROPERTY_CONNECTION_ALLOCATORFRAMING,
    CSPROPERTY_CONNECTION_PROPOSEDATAFORMAT,
#ifndef UNDER_CE
	CSPROPERTY_CONNECTION_ACQUIREORDERING,
#endif //#ifndef UNDER_CE    
	CSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX
#ifndef UNDER_CE
	,
	CSPROPERTY_CONNECTION_STARTAT
#endif //#ifndef UNDER_CE
} CSPROPERTY_CONNECTION;

#define DEFINE_CSPROPERTY_ITEM_CONNECTION_STATE(GetHandler, SetHandler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_STATE,\
        (GetHandler),\
        sizeof(CSPROPERTY),\
        sizeof(CSSTATE),\
        (SetHandler),\
        NULL, 0, NULL, NULL, 0)

#ifndef UNDER_CE
#define DEFINE_CSPROPERTY_ITEM_CONNECTION_PRIORITY(GetHandler, SetHandler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_PRIORITY,\
        (GetHandler),\
        sizeof(CSPROPERTY),\
        sizeof(CSPRIORITY),\
        (SetHandler),\
        NULL, 0, NULL, NULL, 0)
#endif //#ifndef UNDER_CE

#define DEFINE_CSPROPERTY_ITEM_CONNECTION_DATAFORMAT(GetHandler, SetHandler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_DATAFORMAT,\
        (GetHandler),\
        sizeof(CSPROPERTY),\
        0,\
        (SetHandler),\
        NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_CONNECTION_ALLOCATORFRAMING(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_ALLOCATORFRAMING,\
        (Handler),\
        sizeof(CSPROPERTY),\
        sizeof(CSALLOCATOR_FRAMING),\
        NULL, NULL, 0, NULL, NULL, 0)
        
#define DEFINE_CSPROPERTY_ITEM_CONNECTION_ALLOCATORFRAMING_EX(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_ALLOCATORFRAMING_EX,\
        (Handler),\
        sizeof(CSPROPERTY),\
        0,\
        NULL, NULL, 0, NULL, NULL, 0)

#ifndef UNDER_CE
#define DEFINE_CSPROPERTY_ITEM_CONNECTION_PROPOSEDATAFORMAT(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_PROPOSEDATAFORMAT,\
        NULL,\
        sizeof(CSPROPERTY),\
        sizeof(CSDATAFORMAT),\
        (Handler),\
        NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_CONNECTION_ACQUIREORDERING(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_ACQUIREORDERING,\
        (Handler),\
        sizeof(CSPROPERTY),\
        sizeof(int),\
        NULL, NULL, 0, NULL, NULL, 0)

#define DEFINE_CSPROPERTY_ITEM_CONNECTION_STARTAT(Handler)\
    DEFINE_CSPROPERTY_ITEM(\
        CSPROPERTY_CONNECTION_STARTAT,\
        NULL,\
        sizeof(CSPROPERTY),\
        sizeof(CSRELATIVEEVENT),\
        (Handler),\
        NULL, 0, NULL, NULL, 0)
#endif //#ifndef UNDER_CE

//===========================================================================
//
// pins flags
//
#define CSALLOCATOR_REQUIREMENTF_INPLACE_MODIFIER   0x00000001
#define CSALLOCATOR_REQUIREMENTF_SYSTEM_MEMORY      0x00000002
#define CSALLOCATOR_REQUIREMENTF_FRAME_INTEGRITY    0x00000004
#define CSALLOCATOR_REQUIREMENTF_MUST_ALLOCATE      0x00000008
#define CSALLOCATOR_REQUIREMENTF_PREFERENCES_ONLY   0x80000000

#define CSALLOCATOR_OPTIONF_COMPATIBLE              0x00000001
#define CSALLOCATOR_OPTIONF_SYSTEM_MEMORY           0x00000002
#define CSALLOCATOR_OPTIONF_VALID                   0x00000003
// 
// pins extended framing flags
//
#define CSALLOCATOR_FLAG_PARTIAL_READ_SUPPORT       0x00000010
#define CSALLOCATOR_FLAG_DEVICE_SPECIFIC            0x00000020
#define CSALLOCATOR_FLAG_CAN_ALLOCATE               0x00000040
#define CSALLOCATOR_FLAG_INSIST_ON_FRAMESIZE_RATIO  0x00000080
//
// allocator pipes flags
//
// there is at least one data modification in a pipe
#define CSALLOCATOR_FLAG_NO_FRAME_INTEGRITY         0x00000100
#define CSALLOCATOR_FLAG_MULTIPLE_OUTPUT            0x00000200
#define CSALLOCATOR_FLAG_CYCLE                      0x00000400
#define CSALLOCATOR_FLAG_ALLOCATOR_EXISTS           0x00000800
// there is no framing dependency between neighbouring pipes.
#define CSALLOCATOR_FLAG_INDEPENDENT_RANGES         0x00001000
#define CSALLOCATOR_FLAG_ATTENTION_STEPPING         0x00002000

⌨️ 快捷键说明

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