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?r…
==============================================================================
--- 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=4279…
==============================================================================
--- 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
/* ===============================================================