Fix varus issue.

make audiosrv using the new ks.h and link with ksguid
Fix dxapi build
Fix ddkmapi.h so it works like windkk version 3790.1830
offline #define DEFINE_KSPROPERTY_TOPOLOGYSET in ks.h it seam some type problem there


svn path=/branches/reactx/; revision=30140
This commit is contained in:
Magnus Olsen 2007-11-04 23:54:40 +00:00
parent 67a3fbe3e7
commit 43e400e70e
6 changed files with 229 additions and 177 deletions

View file

@ -9,6 +9,7 @@
<library>advapi32</library> <library>advapi32</library>
<library>user32</library> <library>user32</library>
<library>setupapi</library> <library>setupapi</library>
<library>ksguid</library>
<file>main.c</file> <file>main.c</file>
<file>pnp_list_manager.c</file> <file>pnp_list_manager.c</file>
<file>pnp_list_lock.c</file> <file>pnp_list_lock.c</file>

View file

@ -1,6 +1,6 @@
<?xml version="1.0"?> <?xml version="1.0"?>
<!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd"> <!DOCTYPE module SYSTEM "../../../tools/rbuild/project.dtd">
<module name="ddraw" type="win32dll" entrypoint="0" installbase="system32" installname="ddraw.dll" allowwarnings ="true"> <module name="ddraw" type="win32dll" installbase="system32" installname="ddraw.dll" allowwarnings ="true">
<importlibrary definition="ddraw.def" /> <importlibrary definition="ddraw.def" />
<include base="ddraw">.</include> <include base="ddraw">.</include>
<define name="UNICODE" /> <define name="UNICODE" />

View file

@ -8,7 +8,7 @@ installbase="system32/drivers" installname="dxapi.sys">
<define name="_DXAPI_" /> <define name="_DXAPI_" />
<library>ntoskrnl</library> <library>ntoskrnl</library>
<library>hal</library> <library>hal</library>
<library>videoport</library> <library>videoprt</library>
<file>main.c</file> <file>main.c</file>
<file>dxapi.rc</file> <file>dxapi.rc</file>
</module> </module>

View file

@ -20,16 +20,9 @@
* *
*/ */
#ifndef __DDKMAPI_H #ifndef __DDKMAPI_INCLUDED__
#define __DDKMAPI_H #define __DDKMAPI_INCLUDED__
#if __GNUC__ >=3
#pragma GCC system_header
#endif
#ifdef __cplusplus
extern "C" {
#endif
#if defined(_DXAPI_) #if defined(_DXAPI_)
#define DXAPI DECLSPEC_EXPORT #define DXAPI DECLSPEC_EXPORT
@ -37,29 +30,12 @@ extern "C" {
#define DXAPI DECLSPEC_IMPORT #define DXAPI DECLSPEC_IMPORT
#endif #endif
DXAPI
DWORD
FAR PASCAL
DxApi(
IN DWORD dwFunctionNum,
IN LPVOID lpvInBuffer,
IN DWORD cbInBuffer,
OUT LPVOID lpvOutBuffer,
OUT DWORD cbOutBuffer);
typedef DWORD (FAR PASCAL *LPDXAPI)(
DWORD dwFunctionNum,
LPVOID lpvInBuffer,
DWORD cbInBuffer,
LPVOID lpvOutBuffer,
DWORD cbOutBuffer);
#define DXAPI_MAJORVERSION 1 #define DXAPI_MAJORVERSION 1
#define DXAPI_MINORVERSION 0 #define DXAPI_MINORVERSION 0
#define DD_FIRST_DXAPI 0x500 #define DD_FIRST_DXAPI 0x500
#define DD_DXAPI_GETVERSIONNUMBER (DD_FIRST_DXAPI) #define DD_DXAPI_GETVERSIONNUMBER (DD_FIRST_DXAPI)
#define DD_DXAPI_CLOSEHANDLE (DD_FIRST_DXAPI+1) #define DD_DXAPI_CLOSEHANDLE (DD_FIRST_DXAPI+1)
#define DD_DXAPI_OPENDIRECTDRAW (DD_FIRST_DXAPI+2) #define DD_DXAPI_OPENDIRECTDRAW (DD_FIRST_DXAPI+2)
@ -83,114 +59,159 @@ typedef DWORD (FAR PASCAL *LPDXAPI)(
#define DD_DXAPI_ADDVPCAPTUREBUFFER (DD_FIRST_DXAPI+20) #define DD_DXAPI_ADDVPCAPTUREBUFFER (DD_FIRST_DXAPI+20)
#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS (DD_FIRST_DXAPI+21) #define DD_DXAPI_FLUSHVPCAPTUREBUFFERS (DD_FIRST_DXAPI+21)
/* DDOPENVPCAPTUREDEVICEIN.dwFlags constants */
typedef struct _DDCAPBUFFINFO { #define DDOPENCAPTURE_VIDEO 0x0001
DWORD dwFieldNumber; #define DDOPENCAPTURE_VBI 0x0002
DWORD bPolarity;
LARGE_INTEGER liTimeStamp;
DWORD ddRVal;
} DDCAPBUFFINFO, FAR * LPDDCAPBUFFINFO;
/* DDADDVPCAPTUREBUFF.dwFlags constants */ /* DDADDVPCAPTUREBUFF.dwFlags constants */
#define DDADDBUFF_SYSTEMMEMORY 0x0001 #define DDADDBUFF_SYSTEMMEMORY 0x0001
#define DDADDBUFF_NONLOCALVIDMEM 0x0002 #define DDADDBUFF_NONLOCALVIDMEM 0x0002
#define DDADDBUFF_INVERT 0x0004 #define DDADDBUFF_INVERT 0x0004
typedef struct _DDADDVPCAPTUREBUFF { /* DDGETSURFACESTATEOUT.dwStateCaps/dwStateStatus constants */
HANDLE hCapture; #define DDSTATE_BOB 0x0001
DWORD dwFlags; #define DDSTATE_WEAVE 0x0002
PMDL pMDL; #define DDSTATE_EXPLICITLY_SET 0x0004
PKEVENT pKEvent; #define DDSTATE_SOFTWARE_AUTOFLIP 0x0008
LPDDCAPBUFFINFO lpBuffInfo; #define DDSTATE_SKIPEVENFIELDS 0x0010
} DDADDVPCAPTUREBUFF, FAR * LPDDADDVPCAPTUREBUFF;
typedef struct _DDCLOSEHANDLE { /* DDREGISTERCALLBACK.dwEvents constants */
HANDLE hHandle; #define DDEVENT_DISPLAY_VSYNC 0x0001
} DDCLOSEHANDLE, FAR *LPDDCLOSEHANDLE; #define DDEVENT_VP_VSYNC 0x0002
#define DDEVENT_VP_LINE 0x0004
#define DDEVENT_PRERESCHANGE 0x0008
#define DDEVENT_POSTRESCHANGE 0x0010
#define DDEVENT_PREDOSBOX 0x0020
#define DDEVENT_POSTDOSBOX 0x0040
typedef struct _DDFLIPOVERLAY { /* LPDD_NOTIFYCALLBACK.dwFlags constants */
HANDLE hDirectDraw; #define DDNOTIFY_DISPLAY_VSYNC 0x0001
HANDLE hCurrentSurface; #define DDNOTIFY_VP_VSYNC 0x0002
HANDLE hTargetSurface; #define DDNOTIFY_VP_LINE 0x0004
DWORD dwFlags; #define DDNOTIFY_PRERESCHANGE 0x0008
} DDFLIPOVERLAY, FAR *LPDDFLIPOVERLAY; #define DDNOTIFY_POSTRESCHANGE 0x0010
#define DDNOTIFY_PREDOSBOX 0x0020
#define DDNOTIFY_POSTDOSBOX 0x0040
#define DDNOTIFY_CLOSEDIRECTDRAW 0x0080
#define DDNOTIFY_CLOSESURFACE 0x0100
#define DDNOTIFY_CLOSEVIDEOPORT 0x0200
#define DDNOTIFY_CLOSECAPTURE 0x0400
typedef struct _DDFLIPVIDEOPORT { typedef DWORD (*LPDXAPI)(DWORD dwFunctionNum, LPVOID lpvInBuffer, DWORD cbInBuffer, LPVOID lpvOutBuffer, DWORD cbOutBuffer);
typedef ULONG (*LPDD_NOTIFYCALLBACK) (DWORD dwFlags, PVOID pContext, DWORD dwParam1, DWORD dwParam2);
typedef struct _DDCAPBUFFINFO
{
DWORD dwFieldNumber;
DWORD bPolarity;
LARGE_INTEGER liTimeStamp;
DWORD ddRVal;
} DDCAPBUFFINFO, * LPDDCAPBUFFINFO;
typedef struct _DDADDVPCAPTUREBUFF
{
HANDLE hCapture;
DWORD dwFlags;
PMDL pMDL;
PKEVENT pKEvent;
LPDDCAPBUFFINFO lpBuffInfo;
} DDADDVPCAPTUREBUFF, * LPDDADDVPCAPTUREBUFF;
typedef struct _DDCLOSEHANDLE
{
HANDLE hHandle;
} DDCLOSEHANDLE, *LPDDCLOSEHANDLE;
typedef struct _DDFLIPOVERLAY
{
HANDLE hDirectDraw;
HANDLE hCurrentSurface;
HANDLE hTargetSurface;
DWORD dwFlags;
} DDFLIPOVERLAY, *LPDDFLIPOVERLAY;
typedef struct _DDFLIPVIDEOPORT
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hVideoPort; HANDLE hVideoPort;
HANDLE hCurrentSurface; HANDLE hCurrentSurface;
HANDLE hTargetSurface; HANDLE hTargetSurface;
DWORD dwFlags; DWORD dwFlags;
} DDFLIPVIDEOPORT, FAR *LPDDFLIPVIDEOPORT; } DDFLIPVIDEOPORT, *LPDDFLIPVIDEOPORT;
typedef struct _DDGETAUTOFLIPIN { typedef struct _DDGETAUTOFLIPIN
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hVideoPort; HANDLE hVideoPort;
} DDGETAUTOFLIPIN, FAR *LPDDGETAUTOFLIPIN; } DDGETAUTOFLIPIN, *LPDDGETAUTOFLIPIN;
typedef struct _DDGETAUTOFLIPOUT { typedef struct _DDGETAUTOFLIPOUT
{
DWORD ddRVal; DWORD ddRVal;
HANDLE hVideoSurface; HANDLE hVideoSurface;
HANDLE hVBISurface; HANDLE hVBISurface;
BOOL bPolarity; BOOL bPolarity;
} DDGETAUTOFLIPOUT, FAR *LPDDGETAUTOFLIPOUT; } DDGETAUTOFLIPOUT, *LPDDGETAUTOFLIPOUT;
typedef struct _DDGETPOLARITYIN { typedef struct _DDGETPOLARITYIN
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hVideoPort; HANDLE hVideoPort;
} DDGETPOLARITYIN, FAR *LPDDGETPOLARITYIN; } DDGETPOLARITYIN, *LPDDGETPOLARITYIN;
typedef struct _DDGETPOLARITYOUT { typedef struct _DDGETPOLARITYOUT
{
DWORD ddRVal; DWORD ddRVal;
BOOL bPolarity; BOOL bPolarity;
} DDGETPOLARITYOUT, FAR *LPDDGETPOLARITYOUT; } DDGETPOLARITYOUT, *LPDDGETPOLARITYOUT;
typedef struct _DDGETSURFACESTATEIN { typedef struct _DDGETSURFACESTATEIN
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hSurface; HANDLE hSurface;
} DDGETSURFACESTATEIN, FAR *LPDDGETSURFACESTATEIN; } DDGETSURFACESTATEIN, *LPDDGETSURFACESTATEIN;
/* DDGETSURFACESTATEOUT.dwStateCaps/dwStateStatus constants */ typedef struct _DDGETSURFACESTATEOUT
#define DDSTATE_BOB 0x0001 {
#define DDSTATE_WEAVE 0x0002
#define DDSTATE_EXPLICITLY_SET 0x0004
#define DDSTATE_SOFTWARE_AUTOFLIP 0x0008
#define DDSTATE_SKIPEVENFIELDS 0x0010
typedef struct _DDGETSURFACESTATEOUT {
DWORD ddRVal; DWORD ddRVal;
DWORD dwStateCaps; DWORD dwStateCaps;
DWORD dwStateStatus; DWORD dwStateStatus;
} DDGETSURFACESTATEOUT, FAR *LPDDGETSURFACESTATEOUT; } DDGETSURFACESTATEOUT, *LPDDGETSURFACESTATEOUT;
typedef struct _DDGETFIELDNUMIN { typedef struct _DDGETFIELDNUMIN
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hVideoPort; HANDLE hVideoPort;
} DDGETFIELDNUMIN, FAR *LPDDGETFIELDNUMIN; } DDGETFIELDNUMIN, *LPDDGETFIELDNUMIN;
typedef struct _DDGETFIELDNUMOUT { typedef struct _DDGETFIELDNUMOUT
{
DWORD ddRVal; DWORD ddRVal;
DWORD dwFieldNum; DWORD dwFieldNum;
} DDGETFIELDNUMOUT, FAR *LPDDGETFIELDNUMOUT; } DDGETFIELDNUMOUT, *LPDDGETFIELDNUMOUT;
typedef struct _DDGETKERNELCAPSOUT { typedef struct _DDGETKERNELCAPSOUT
{
DWORD ddRVal; DWORD ddRVal;
DWORD dwCaps; DWORD dwCaps;
DWORD dwIRQCaps; DWORD dwIRQCaps;
} DDGETKERNELCAPSOUT, FAR *LPDDGETKERNELCAPSOUT; } DDGETKERNELCAPSOUT, *LPDDGETKERNELCAPSOUT;
typedef struct _DDGETVERSIONNUMBER { typedef struct _DDGETVERSIONNUMBER
{
DWORD ddRVal; DWORD ddRVal;
DWORD dwMajorVersion; DWORD dwMajorVersion;
DWORD dwMinorVersion; DWORD dwMinorVersion;
} DDGETVERSIONNUMBER, FAR *LPDDGETVERSIONNUMBER; } DDGETVERSIONNUMBER, *LPDDGETVERSIONNUMBER;
typedef struct _DDLOCKIN { typedef struct _DDLOCKIN
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hSurface; HANDLE hSurface;
} DDLOCKIN, FAR *LPDDLOCKIN; } DDLOCKIN, *LPDDLOCKIN;
typedef struct _DDLOCKOUT { typedef struct _DDLOCKOUT
{
DWORD ddRVal; DWORD ddRVal;
DWORD dwSurfHeight; DWORD dwSurfHeight;
DWORD dwSurfWidth; DWORD dwSurfWidth;
@ -200,79 +221,67 @@ typedef struct _DDLOCKOUT {
DWORD dwFormatFlags; DWORD dwFormatFlags;
DWORD dwFormatFourCC; DWORD dwFormatFourCC;
DWORD dwFormatBitCount; DWORD dwFormatBitCount;
_ANONYMOUS_UNION union { union
{
DWORD dwRBitMask; DWORD dwRBitMask;
DWORD dwYBitMask; DWORD dwYBitMask;
} DUMMYUNIONNAME; };
_ANONYMOUS_UNION union { union
{
DWORD dwGBitMask; DWORD dwGBitMask;
DWORD dwUBitMask; DWORD dwUBitMask;
} DUMMYUNIONNAME2; };
_ANONYMOUS_UNION union { union
{
DWORD dwBBitMask; DWORD dwBBitMask;
DWORD dwVBitMask; DWORD dwVBitMask;
} DUMMYUNIONNAME3; };
} DDLOCKOUT, FAR *LPDDLOCKOUT; } DDLOCKOUT, *LPDDLOCKOUT;
/* LPDD_NOTIFYCALLBACK.dwFlags constants */
#define DDNOTIFY_DISPLAY_VSYNC 0x0001
#define DDNOTIFY_VP_VSYNC 0x0002
#define DDNOTIFY_VP_LINE 0x0004
#define DDNOTIFY_PRERESCHANGE 0x0008
#define DDNOTIFY_POSTRESCHANGE 0x0010
#define DDNOTIFY_PREDOSBOX 0x0020
#define DDNOTIFY_POSTDOSBOX 0x0040
#define DDNOTIFY_CLOSEDIRECTDRAW 0x0080
#define DDNOTIFY_CLOSESURFACE 0x0100
#define DDNOTIFY_CLOSEVIDEOPORT 0x0200
#define DDNOTIFY_CLOSECAPTURE 0x0400
typedef ULONG (FAR PASCAL *LPDD_NOTIFYCALLBACK)( typedef struct _DDOPENDIRECTDRAWIN
DWORD dwFlags, {
PVOID pContext, ULONG_PTR dwDirectDrawHandle;
DWORD dwParam1,
DWORD dwParam2);
typedef struct _DDOPENDIRECTDRAWIN {
ULONG_PTR dwDirectDrawHandle;
LPDD_NOTIFYCALLBACK pfnDirectDrawClose; LPDD_NOTIFYCALLBACK pfnDirectDrawClose;
PVOID pContext; PVOID pContext;
} DDOPENDIRECTDRAWIN, FAR *LPDDOPENDIRECTDRAWIN; } DDOPENDIRECTDRAWIN, *LPDDOPENDIRECTDRAWIN;
typedef struct _DDOPENDIRECTDRAWOUT { typedef struct _DDOPENDIRECTDRAWOUT
{
DWORD ddRVal; DWORD ddRVal;
HANDLE hDirectDraw; HANDLE hDirectDraw;
} DDOPENDIRECTDRAWOUT, FAR *LPDDOPENDIRECTDRAWOUT; } DDOPENDIRECTDRAWOUT, *LPDDOPENDIRECTDRAWOUT;
typedef struct _DDOPENSURFACEIN { typedef struct _DDOPENSURFACEIN
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
ULONG_PTR dwSurfaceHandle; ULONG_PTR dwSurfaceHandle;
LPDD_NOTIFYCALLBACK pfnSurfaceClose; LPDD_NOTIFYCALLBACK pfnSurfaceClose;
PVOID pContext; PVOID pContext;
} DDOPENSURFACEIN, FAR *LPDDOPENSURFACEIN; } DDOPENSURFACEIN, *LPDDOPENSURFACEIN;
typedef struct _DDOPENSURFACEOUT { typedef struct _DDOPENSURFACEOUT
{
DWORD ddRVal; DWORD ddRVal;
HANDLE hSurface; HANDLE hSurface;
} DDOPENSURFACEOUT, FAR *LPDDOPENSURFACEOUT; } DDOPENSURFACEOUT, *LPDDOPENSURFACEOUT;
typedef struct _DDOPENVIDEOPORTIN { typedef struct _DDOPENVIDEOPORTIN
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
ULONG dwVideoPortHandle; ULONG dwVideoPortHandle;
LPDD_NOTIFYCALLBACK pfnVideoPortClose; LPDD_NOTIFYCALLBACK pfnVideoPortClose;
PVOID pContext; PVOID pContext;
} DDOPENVIDEOPORTIN, FAR *LPDDOPENVIDEOPORTIN; } DDOPENVIDEOPORTIN, *LPDDOPENVIDEOPORTIN;
typedef struct _DDOPENVIDEOPORTOUT { typedef struct _DDOPENVIDEOPORTOUT
{
DWORD ddRVal; DWORD ddRVal;
HANDLE hVideoPort; HANDLE hVideoPort;
} DDOPENVIDEOPORTOUT, FAR *LPDDOPENVIDEOPORTOUT; } DDOPENVIDEOPORTOUT, *LPDDOPENVIDEOPORTOUT;
/* DDOPENVPCAPTUREDEVICEIN.dwFlags constants */ typedef struct _DDOPENVPCAPTUREDEVICEIN
#define DDOPENCAPTURE_VIDEO 0x0001 {
#define DDOPENCAPTURE_VBI 0x0002
typedef struct _DDOPENVPCAPTUREDEVICEIN {
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hVideoPort; HANDLE hVideoPort;
DWORD dwStartLine; DWORD dwStartLine;
@ -281,52 +290,55 @@ typedef struct _DDOPENVPCAPTUREDEVICEIN {
LPDD_NOTIFYCALLBACK pfnCaptureClose; LPDD_NOTIFYCALLBACK pfnCaptureClose;
PVOID pContext; PVOID pContext;
DWORD dwFlags; DWORD dwFlags;
} DDOPENVPCAPTUREDEVICEIN, FAR * LPDDOPENVPCAPTUREDEVICEIN; } DDOPENVPCAPTUREDEVICEIN, * LPDDOPENVPCAPTUREDEVICEIN;
typedef struct _DDOPENVPCAPTUREDEVICEOUT { typedef struct _DDOPENVPCAPTUREDEVICEOUT
{
DWORD ddRVal; DWORD ddRVal;
HANDLE hCapture; HANDLE hCapture;
} DDOPENVPCAPTUREDEVICEOUT, FAR * LPDDOPENVPCAPTUREDEVICEOUT; } DDOPENVPCAPTUREDEVICEOUT, * LPDDOPENVPCAPTUREDEVICEOUT;
/* DDREGISTERCALLBACK.dwEvents constants */ typedef struct _DDREGISTERCALLBACK
#define DDEVENT_DISPLAY_VSYNC 0x0001 {
#define DDEVENT_VP_VSYNC 0x0002
#define DDEVENT_VP_LINE 0x0004
#define DDEVENT_PRERESCHANGE 0x0008
#define DDEVENT_POSTRESCHANGE 0x0010
#define DDEVENT_PREDOSBOX 0x0020
#define DDEVENT_POSTDOSBOX 0x0040
typedef struct _DDREGISTERCALLBACK {
HANDLE hDirectDraw; HANDLE hDirectDraw;
ULONG dwEvents; ULONG dwEvents;
LPDD_NOTIFYCALLBACK pfnCallback; LPDD_NOTIFYCALLBACK pfnCallback;
ULONG_PTR dwParam1; ULONG_PTR dwParam1;
ULONG_PTR dwParam2; ULONG_PTR dwParam2;
PVOID pContext; PVOID pContext;
} DDREGISTERCALLBACK, FAR *LPDDREGISTERCALLBACK; } DDREGISTERCALLBACK, *LPDDREGISTERCALLBACK;
typedef struct _DDSETSURFACETATE { typedef struct _DDSETSURFACETATE
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hSurface; HANDLE hSurface;
DWORD dwState; DWORD dwState;
DWORD dwStartField; DWORD dwStartField;
} DDSETSURFACESTATE, FAR *LPDDSETSURFACESTATE; } DDSETSURFACESTATE, *LPDDSETSURFACESTATE;
typedef struct _DDSETFIELDNUM { typedef struct _DDSETFIELDNUM
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hVideoPort; HANDLE hVideoPort;
DWORD dwFieldNum; DWORD dwFieldNum;
} DDSETFIELDNUM, FAR *LPDDSETFIELDNUM; } DDSETFIELDNUM, *LPDDSETFIELDNUM;
typedef struct _DDSETSKIPFIELD { typedef struct _DDSETSKIPFIELD
{
HANDLE hDirectDraw; HANDLE hDirectDraw;
HANDLE hVideoPort; HANDLE hVideoPort;
DWORD dwStartField; DWORD dwStartField;
} DDSETSKIPFIELD, FAR *LPDDSETSKIPFIELD; } DDSETSKIPFIELD, *LPDDSETSKIPFIELD;
#ifdef __cplusplus
}
#endif
#endif /* __DDKMAPI_H */ DXAPI
DWORD
DxApi(IN DWORD dwFunctionNum,
IN LPVOID lpvInBuffer,
IN DWORD cbInBuffer,
OUT LPVOID lpvOutBuffer,
OUT DWORD cbOutBuffer);
#endif /* __DDKMAPI_INCLUDED__ */

View file

@ -1,3 +1,7 @@
#if !defined(_KS_) #if !defined(_KS_)
#define _KS_ #define _KS_
@ -20,11 +24,11 @@
#endif #endif
#if defined(__cplusplus) && _MSC_VER >= 1100 #if defined(__cplusplus) && _MSC_VER >= 1100
#define DEFINE_GUIDSTRUCT(g, n) struct __declspec(uuid(g)) n #define DEFINE_GUIDSTRUCT(guid, name) struct __declspec(uuid(guid)) name
#define DEFINE_GUIDNAMED(n) __uuidof(struct n) #define DEFINE_GUIDNAMED(name) __uidof(struct name)
#else #else
#define DEFINE_GUIDSTRUCT(g, n) DEFINE_GUIDEX(n) #define DEFINE_GUIDSTRUCT(guid, name) DEFINE_GUIDEX(name)
#define DEFINE_GUIDNAMED(n) n #define DEFINE_GUIDNAMED(name) name
#endif #endif
@ -32,10 +36,12 @@
DEFINE_GUIDSTRUCT("00000000-0000-0000-0000-000000000000", GUID_NULL); DEFINE_GUIDSTRUCT("00000000-0000-0000-0000-000000000000", GUID_NULL);
#define GUID_NULL DEFINE_GUIDNAMED(GUID_NULL) #define GUID_NULL DEFINE_GUIDNAMED(GUID_NULL)
#define STATIC_KSPROPTYPESETID_General 0x97E99BA0, 0xBDEA, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 #define STATIC_KSPROPTYPESETID_General 0x97E99BA0, 0xBDEA, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("97E99BA0-BDEA-11CF-A5D6-28DB04C10000", KSPROPTYPESETID_General); DEFINE_GUIDSTRUCT("97E99BA0-BDEA-11CF-A5D6-28DB04C10000", KSPROPTYPESETID_General);
#define KSPROPTYPESETID_General DEFINE_GUIDNAMED(KSPROPTYPESETID_General) #define KSPROPTYPESETID_General DEFINE_GUIDNAMED(KSPROPTYPESETID_General)
#define STATIC_KSPROPSETID_General 0x1464EDA5, 0x6A8F, 0x11D1, 0x9A, 0xA7, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96 #define STATIC_KSPROPSETID_General 0x1464EDA5, 0x6A8F, 0x11D1, 0x9A, 0xA7, 0x00, 0xA0, 0xC9, 0x22, 0x31, 0x96
DEFINE_GUIDSTRUCT("1464EDA5-6A8F-11D1-9AA7-00A0C9223196", KSPROPSETID_General); DEFINE_GUIDSTRUCT("1464EDA5-6A8F-11D1-9AA7-00A0C9223196", KSPROPSETID_General);
#define KSPROPSETID_General DEFINE_GUIDNAMED(KSPROPSETID_General) #define KSPROPSETID_General DEFINE_GUIDNAMED(KSPROPSETID_General)
@ -140,16 +146,6 @@ DEFINE_GUIDSTRUCT("1A8766A0-62CE-11CF-A5D6-28DB04C10000", KSINTERFACESETID_Stand
DEFINE_GUIDSTRUCT("8C6F932C-E771-11D0-B8FF-00A0C9223196", KSINTERFACESETID_FileIo); DEFINE_GUIDSTRUCT("8C6F932C-E771-11D0-B8FF-00A0C9223196", KSINTERFACESETID_FileIo);
#define KSINTERFACESETID_FileIo DEFINE_GUIDNAMED(KSINTERFACESETID_FileIo) #define KSINTERFACESETID_FileIo DEFINE_GUIDNAMED(KSINTERFACESETID_FileIo)
#define STATIC_KSMEDIUMSETID_Standard 0x4747B320, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00 #define STATIC_KSMEDIUMSETID_Standard 0x4747B320, 0x62CE, 0x11CF, 0xA5, 0xD6, 0x28, 0xDB, 0x04, 0xC1, 0x00, 0x00
DEFINE_GUIDSTRUCT("4747B320-62CE-11CF-A5D6-28DB04C10000", KSMEDIUMSETID_Standard); DEFINE_GUIDSTRUCT("4747B320-62CE-11CF-A5D6-28DB04C10000", KSMEDIUMSETID_Standard);
#define KSMEDIUMSETID_Standard DEFINE_GUIDNAMED(KSMEDIUMSETID_Standard) #define KSMEDIUMSETID_Standard DEFINE_GUIDNAMED(KSMEDIUMSETID_Standard)
@ -206,8 +202,6 @@ DEFINE_GUIDSTRUCT("D16AD380-AC1A-11CF-A5D6-28DB04C10000", KSPROPSETID_Quality);
DEFINE_GUIDSTRUCT("1D58C920-AC9B-11CF-A5D6-28DB04C10000", KSPROPSETID_Connection); DEFINE_GUIDSTRUCT("1D58C920-AC9B-11CF-A5D6-28DB04C10000", KSPROPSETID_Connection);
#define KSPROPSETID_Connection DEFINE_GUIDNAMED(KSPROPSETID_Connection) #define KSPROPSETID_Connection DEFINE_GUIDNAMED(KSPROPSETID_Connection)
#define STATIC_KSMEMORY_TYPE_SYSTEM 0x091BB638, 0x603F, 0x11D1, 0xB0, 0x67, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x02 #define STATIC_KSMEMORY_TYPE_SYSTEM 0x091BB638, 0x603F, 0x11D1, 0xB0, 0x67, 0x00, 0xA0, 0xC9, 0x06, 0x28, 0x02
DEFINE_GUIDSTRUCT("091bb638-603f-11d1-b067-00a0c9062802", KSMEMORY_TYPE_SYSTEM); DEFINE_GUIDSTRUCT("091bb638-603f-11d1-b067-00a0c9062802", KSMEMORY_TYPE_SYSTEM);
#define KSMEMORY_TYPE_SYSTEM DEFINE_GUIDNAMED(KSMEMORY_TYPE_SYSTEM) #define KSMEMORY_TYPE_SYSTEM DEFINE_GUIDNAMED(KSMEMORY_TYPE_SYSTEM)
@ -264,6 +258,7 @@ DEFINE_GUIDSTRUCT("7f4bcbe0-9ea5-11cf-a5d6-28db04c10000", KSEVENTSETID_Connectio
DEFINE_GUIDSTRUCT("9F564180-704C-11D0-A5D6-28DB04C10000", KSDEGRADESETID_Standard); DEFINE_GUIDSTRUCT("9F564180-704C-11D0-A5D6-28DB04C10000", KSDEGRADESETID_Standard);
#define KSDEGRADESETID_Standard DEFINE_GUIDNAMED(KSDEGRADESETID_Standard) #define KSDEGRADESETID_Standard DEFINE_GUIDNAMED(KSDEGRADESETID_Standard)
#define KSSTRING_Filter L"{9B365890-165F-11D0-A195-0020AFD156E4}" #define KSSTRING_Filter L"{9B365890-165F-11D0-A195-0020AFD156E4}"
#define KSSTRING_Pin L"{146F1A80-4791-11D0-A5D6-28DB04C10000}" #define KSSTRING_Pin L"{146F1A80-4791-11D0-A5D6-28DB04C10000}"
#define KSSTRING_Clock L"{53172480-4791-11D0-A5D6-28DB04C10000}" #define KSSTRING_Clock L"{53172480-4791-11D0-A5D6-28DB04C10000}"
@ -490,6 +485,12 @@ DEFINE_GUIDSTRUCT("9F564180-704C-11D0-A5D6-28DB04C10000", KSDEGRADESETID_Standar
KSPROPERTY_GM_RENDER_CLOCK, KSPROPERTY_GM_RENDER_CLOCK,
} KSPROPERTY_GM; } KSPROPERTY_GM;
typedef enum
{
KSPROPERTY_STREAMALLOCATOR_FUNCTIONTABLE,
KSPROPERTY_STREAMALLOCATOR_STATUS
} KSPROPERTY_STREAMALLOCATOR;
#if !defined(__wtypes_h__) #if !defined(__wtypes_h__)
enum VARENUM enum VARENUM
{ {
@ -594,6 +595,38 @@ typedef enum
KSDEGRADE_STANDARD_SKIP KSDEGRADE_STANDARD_SKIP
} KSDEGRADE_STANDARD; } KSDEGRADE_STANDARD;
typedef enum
{
KSPROPERTY_CLOCK_TIME,
KSPROPERTY_CLOCK_PHYSICALTIME,
KSPROPERTY_CLOCK_CORRELATEDTIME,
KSPROPERTY_CLOCK_CORRELATEDPHYSICALTIME,
KSPROPERTY_CLOCK_RESOLUTION,
KSPROPERTY_CLOCK_STATE,
#if defined(_NTDDK_)
KSPROPERTY_CLOCK_FUNCTIONTABLE
#endif // defined(_NTDDK_)
} KSPROPERTY_CLOCK;
typedef enum
{
KSPROPERTY_STREAMINTERFACE_HEADERSIZE
} KSPROPERTY_STREAMINTERFACE;
typedef enum
{
KSPROPERTY_STREAM_ALLOCATOR,
KSPROPERTY_STREAM_QUALITY,
KSPROPERTY_STREAM_DEGRADATION,
KSPROPERTY_STREAM_MASTERCLOCK,
KSPROPERTY_STREAM_TIMEFORMAT,
KSPROPERTY_STREAM_PRESENTATIONTIME,
KSPROPERTY_STREAM_PRESENTATIONEXTENT,
KSPROPERTY_STREAM_FRAMETIME,
KSPROPERTY_STREAM_RATECAPABILITY,
KSPROPERTY_STREAM_RATE,
KSPROPERTY_STREAM_PIPE_ID
} KSPROPERTY_STREAM;
typedef struct typedef struct
{ {
@ -601,14 +634,12 @@ typedef struct
ULONG PrioritySubClass; ULONG PrioritySubClass;
} KSPRIORITY, *PKSPRIORITY; } KSPRIORITY, *PKSPRIORITY;
typedef enum typedef enum
{ {
KSEVENT_CLOCK_INTERVAL_MARK, KSEVENT_CLOCK_INTERVAL_MARK,
KSEVENT_CLOCK_POSITION_MARK KSEVENT_CLOCK_POSITION_MARK
} KSEVENT_CLOCK_POSITION; } KSEVENT_CLOCK_POSITION;
typedef enum typedef enum
{ {
KSEVENT_CONNECTION_POSITIONUPDATE, KSEVENT_CONNECTION_POSITIONUPDATE,
@ -668,7 +699,6 @@ typedef enum
KSPROPERTY_TOPOLOGY_NAME KSPROPERTY_TOPOLOGY_NAME
} KSPROPERTY_TOPOLOGY; } KSPROPERTY_TOPOLOGY;
typedef enum typedef enum
{ {
KSINTERFACE_STANDARD_STREAMING, KSINTERFACE_STANDARD_STREAMING,
@ -676,8 +706,6 @@ typedef enum
KSINTERFACE_STANDARD_CONTROL KSINTERFACE_STANDARD_CONTROL
} KSINTERFACE_STANDARD; } KSINTERFACE_STANDARD;
typedef enum typedef enum
{ {
KSINTERFACE_FILEIO_STREAMING KSINTERFACE_FILEIO_STREAMING
@ -742,13 +770,19 @@ typedef enum
KSEVENT_STREAMALLOCATOR_FREEFRAME KSEVENT_STREAMALLOCATOR_FREEFRAME
} KSEVENT_STREAMALLOCATOR; } KSEVENT_STREAMALLOCATOR;
typedef enum typedef enum
{ {
KSMETHOD_STREAMALLOCATOR_ALLOC, KSMETHOD_STREAMALLOCATOR_ALLOC,
KSMETHOD_STREAMALLOCATOR_FREE KSMETHOD_STREAMALLOCATOR_FREE
} KSMETHOD_STREAMALLOCATOR; } KSMETHOD_STREAMALLOCATOR;
typedef enum
{
KsObjectTypeDevice,
KsObjectTypeFilterFactory,
KsObjectTypeFilter,
KsObjectTypePin
} KSOBJECTTYPE;
typedef struct typedef struct
@ -768,7 +802,7 @@ typedef struct
}; };
LONGLONG Alignment; LONGLONG Alignment;
}; };
} KSIDENTIFIER, *PKSIDENTIFIER, KSPROPERTY, *PKSPROPERTY, KSPIN_INTERFACE, *PKSPIN_INTERFACE } KSIDENTIFIER, *PKSIDENTIFIER, KSPROPERTY, *PKSPROPERTY, KSPIN_INTERFACE, *PKSPIN_INTERFACE,
KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT, KSDEGRADE, *PKSDEGRADE, KSMETHOD, *PKSMETHOD, KSEVENT, *PKSEVENT, KSDEGRADE, *PKSDEGRADE,
KSPIN_MEDIUM, *PKSPIN_MEDIUM; KSPIN_MEDIUM, *PKSPIN_MEDIUM;
@ -1185,6 +1219,7 @@ typedef struct
#define DEFINE_KSPROPERTY_ITEM_TOPOLOGY_NAME(Handler)\ #define DEFINE_KSPROPERTY_ITEM_TOPOLOGY_NAME(Handler)\
DEFINE_KSPROPERTY_ITEM(KSPROPERTY_TOPOLOGY_NAME, (Handler), sizeof(KSP_NODE), 0, NULL, NULL, 0, NULL, NULL, 0) DEFINE_KSPROPERTY_ITEM(KSPROPERTY_TOPOLOGY_NAME, (Handler), sizeof(KSP_NODE), 0, NULL, NULL, 0, NULL, NULL, 0)
#if 0
#define DEFINE_KSPROPERTY_TOPOLOGYSET(TopologySet, Handler)\ #define DEFINE_KSPROPERTY_TOPOLOGYSET(TopologySet, Handler)\
DEFINE_KSPROPERTY_TABLE(TopologySet) {\ DEFINE_KSPROPERTY_TABLE(TopologySet) {\
DEFINE_KSPROPERTY_ITEM_TOPOLOGY_CATEGORIES(Handler),\ DEFINE_KSPROPERTY_ITEM_TOPOLOGY_CATEGORIES(Handler),\
@ -1192,6 +1227,7 @@ DEFINE_KSPROPERTY_TABLE(TopologySet) {\
DEFINE_KSPROPERTY_ITEM_TOPOLOGY_CONNECTIONS(Handler),\ DEFINE_KSPROPERTY_ITEM_TOPOLOGY_CONNECTIONS(Handler),\
DEFINE_KSPROPERTY_ITEM_TOPOLOGY_NAME(Handler) DEFINE_KSPROPERTY_ITEM_TOPOLOGY_NAME(Handler)
} }
#endif
#define DEFINE_KSPIN_INTERFACE_ITEM(guid, interface) { STATICGUIDOF(guid), (interface), 0 } #define DEFINE_KSPIN_INTERFACE_ITEM(guid, interface) { STATICGUIDOF(guid), (interface), 0 }

View file

@ -7,6 +7,9 @@
<directory name="dxguid"> <directory name="dxguid">
<xi:include href="dxguid/dxguid.rbuild" /> <xi:include href="dxguid/dxguid.rbuild" />
</directory> </directory>
<directory name="ksguid">
<xi:include href="ksguid/ksguid.rbuild" />
</directory>
<directory name="libcntpr"> <directory name="libcntpr">
<xi:include href="libcntpr/libcntpr.rbuild" /> <xi:include href="libcntpr/libcntpr.rbuild" />
</directory> </directory>