Author: janderwald Date: Thu Aug 20 13:39:54 2009 New Revision: 42797
URL: http://svn.reactos.org/svn/reactos?rev=42797&view=rev Log: - Add types for bda driver
Modified: trunk/reactos/include/dxsdk/bdamedia.h trunk/reactos/include/psdk/ks.h
Modified: trunk/reactos/include/dxsdk/bdamedia.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/dxsdk/bdamedia.h?re... ============================================================================== --- trunk/reactos/include/dxsdk/bdamedia.h [iso-8859-1] (original) +++ trunk/reactos/include/dxsdk/bdamedia.h [iso-8859-1] Thu Aug 20 13:39:54 2009 @@ -14,4 +14,165 @@ ULONG ulOutputPinId; } KSP_BDA_NODE_PIN, *PKSP_BDA_NODE_PIN;
+typedef struct _KSM_BDA_PIN +{ + KSMETHOD Method; + union + { + ULONG PinId; + ULONG PinType; + }; + ULONG Reserved; +} KSM_BDA_PIN, * PKSM_BDA_PIN; + +typedef struct _KSM_BDA_PIN_PAIR +{ + KSMETHOD Method; + union + { + ULONG InputPinId; + ULONG InputPinType; + }; + union + { + ULONG OutputPinId; + ULONG OutputPinType; + }; +} KSM_BDA_PIN_PAIR, * PKSM_BDA_PIN_PAIR; + +/* ------------------------------------------------------------ + BDA Topology Property Set {A14EE835-0A23-11d3-9CC7-00C04F7971E0} +*/ + +#define STATIC_KSPROPSETID_BdaTopology \ + 0xa14ee835, 0x0a23, 0x11d3, 0x9c, 0xc7, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0 +DEFINE_GUIDSTRUCT("A14EE835-0A23-11d3-9CC7-00C04F7971E0", KSPROPSETID_BdaTopology); +#define KSPROPSETID_BdaTopology DEFINE_GUIDNAMED(KSPROPSETID_BdaTopology) + +typedef enum { + KSPROPERTY_BDA_NODE_TYPES, + KSPROPERTY_BDA_PIN_TYPES, + KSPROPERTY_BDA_TEMPLATE_CONNECTIONS, + KSPROPERTY_BDA_NODE_METHODS, + KSPROPERTY_BDA_NODE_PROPERTIES, + KSPROPERTY_BDA_NODE_EVENTS, + KSPROPERTY_BDA_CONTROLLING_PIN_ID, + KSPROPERTY_BDA_NODE_DESCRIPTORS + }KSPROPERTY_BDA_TOPOLOGY; + +#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_TYPES(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_NODE_TYPES,\ + (GetHandler),\ + sizeof(KSPROPERTY),\ + 0,\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +#define DEFINE_KSPROPERTY_ITEM_BDA_PIN_TYPES(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_PIN_TYPES,\ + (GetHandler),\ + sizeof(KSPROPERTY),\ + 0,\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +#define DEFINE_KSPROPERTY_ITEM_BDA_TEMPLATE_CONNECTIONS(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_TEMPLATE_CONNECTIONS,\ + (GetHandler),\ + sizeof(KSPROPERTY),\ + sizeof( BDA_TEMPLATE_CONNECTION),\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_METHODS(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_NODE_METHODS,\ + (GetHandler),\ + sizeof(KSP_NODE),\ + 0,\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_PROPERTIES(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_NODE_PROPERTIES,\ + (GetHandler),\ + sizeof(KSP_NODE),\ + 0,\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_EVENTS(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_NODE_EVENTS,\ + (GetHandler),\ + sizeof(KSP_NODE),\ + 0,\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +#define DEFINE_KSPROPERTY_ITEM_BDA_CONTROLLING_PIN_ID(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_CONTROLLING_PIN_ID,\ + (GetHandler),\ + sizeof(KSP_BDA_NODE_PIN),\ + sizeof( ULONG),\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +#define DEFINE_KSPROPERTY_ITEM_BDA_NODE_DESCRIPTORS(GetHandler, SetHandler)\ + DEFINE_KSPROPERTY_ITEM(\ + KSPROPERTY_BDA_NODE_DESCRIPTORS,\ + (GetHandler),\ + sizeof(KSPROPERTY),\ + 0,\ + FALSE,\ + NULL, 0, NULL, NULL, 0) + +/* ------------------------------------------------------------ + BDA Device Configuration Method Set {71985F45-1CA1-11d3-9CC8-00C04F7971E0} +*/ + +#define STATIC_KSMETHODSETID_BdaDeviceConfiguration \ + 0x71985f45, 0x1ca1, 0x11d3, 0x9c, 0xc8, 0x0, 0xc0, 0x4f, 0x79, 0x71, 0xe0 +DEFINE_GUIDSTRUCT("71985F45-1CA1-11d3-9CC8-00C04F7971E0", KSMETHODSETID_BdaDeviceConfiguration); +#define KSMETHODSETID_BdaDeviceConfiguration DEFINE_GUIDNAMED(KSMETHODSETID_BdaDeviceConfiguration) + +typedef enum { + KSMETHOD_BDA_CREATE_PIN_FACTORY = 0, + KSMETHOD_BDA_DELETE_PIN_FACTORY, + KSMETHOD_BDA_CREATE_TOPOLOGY +} KSMETHOD_BDA_DEVICE_CONFIGURATION; + +#define DEFINE_KSMETHOD_ITEM_BDA_CREATE_PIN_FACTORY(MethodHandler, SupportHandler)\ + DEFINE_KSMETHOD_ITEM(\ + KSMETHOD_BDA_CREATE_PIN_FACTORY,\ + KSMETHOD_TYPE_READ,\ + (MethodHandler),\ + sizeof(KSM_BDA_PIN),\ + sizeof(ULONG),\ + SupportHandler) + +#define DEFINE_KSMETHOD_ITEM_BDA_DELETE_PIN_FACTORY(MethodHandler, SupportHandler)\ + DEFINE_KSMETHOD_ITEM(\ + KSMETHOD_BDA_DELETE_PIN_FACTORY,\ + KSMETHOD_TYPE_NONE,\ + (MethodHandler),\ + sizeof(KSM_BDA_PIN),\ + 0,\ + SupportHandler) + +#define DEFINE_KSMETHOD_ITEM_BDA_CREATE_TOPOLOGY(MethodHandler, SupportHandler)\ + DEFINE_KSMETHOD_ITEM(\ + KSMETHOD_BDA_CREATE_TOPOLOGY,\ + KSMETHOD_TYPE_WRITE,\ + (MethodHandler),\ + sizeof(KSM_BDA_PIN_PAIR),\ + 0,\ + SupportHandler) + + #endif
Modified: trunk/reactos/include/psdk/ks.h URL: http://svn.reactos.org/svn/reactos/trunk/reactos/include/psdk/ks.h?rev=42797... ============================================================================== --- trunk/reactos/include/psdk/ks.h [iso-8859-1] (original) +++ trunk/reactos/include/psdk/ks.h [iso-8859-1] Thu Aug 20 13:39:54 2009 @@ -1808,6 +1808,30 @@ ULONG Flags; } KSMETHOD_ITEM, *PKSMETHOD_ITEM;
+#ifndef _MSC_VER + +#define DEFINE_KSMETHOD_ITEM(MethodId, Flags,\ + MethodHandler,\ + MinMethod, MinData, SupportHandler)\ +{\ + MethodId, {(PFNKSHANDLER)MethodHandler}, MinMethod, MinData,\ + SupportHandler, Flags\ +} + +#else + +#define DEFINE_KSMETHOD_ITEM(MethodId, Flags,\ + MethodHandler,\ + MinMethod, MinData, SupportHandler)\ +{\ + MethodId, (PFNKSHANDLER)MethodHandler, MinMethod, MinData,\ + SupportHandler, Flags\ +} + + + +#endif +
typedef struct { @@ -1818,6 +1842,12 @@ }; } KSFASTMETHOD_ITEM, *PKSFASTMETHOD_ITEM;
+#define DEFINE_KSFASTMETHOD_ITEM(MethodId, MethodHandler)\ +{\ + MethodId, (PFNKSFASTHANDLER)MethodHandler\ +} + + typedef struct { const GUID* Set; @@ -1826,6 +1856,20 @@ ULONG FastIoCount; const KSFASTMETHOD_ITEM*FastIoTable; } KSMETHOD_SET, *PKSMETHOD_SET; + + +#define DEFINE_KSMETHOD_SET(Set,\ + MethodsCount,\ + MethodItem,\ + FastIoCount,\ + FastIoTable)\ +{\ + Set,\ + MethodsCount,\ + MethodItem,\ + FastIoCount,\ + FastIoTable\ +}
#endif /* ===============================================================