Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
5d0160ea
Commit
5d0160ea
authored
Oct 05, 2004
by
Alexandre Julliard
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Get rid of the non-standard Ixxx_METHODS macro definitions, declare
the interfaces explicitly instead.
parent
739e5b06
Hide whitespace changes
Inline
Side-by-side
Showing
27 changed files
with
3715 additions
and
2247 deletions
+3715
-2247
commctrl.h
include/commctrl.h
+3
-4
d3d.h
include/d3d.h
+392
-261
d3d8.h
include/d3d8.h
+307
-181
d3d9.h
include/d3d9.h
+403
-234
d3dx8core.h
include/d3dx8core.h
+19
-11
ddraw.h
include/ddraw.h
+408
-343
dinput.h
include/dinput.h
+387
-132
dmplugin.h
include/dmplugin.h
+68
-34
dmusicc.h
include/dmusicc.h
+165
-111
dmusici.h
include/dmusici.h
+379
-205
dmusics.h
include/dmusics.h
+69
-39
dpaddr.h
include/dpaddr.h
+41
-31
dplay.h
include/dplay.h
+176
-80
dplay8.h
include/dplay8.h
+108
-93
dplobby.h
include/dplobby.h
+63
-22
dsdriver.h
include/dsdriver.h
+73
-43
dsound.h
include/dsound.h
+202
-132
dxdiag.h
include/dxdiag.h
+24
-14
dxfile.h
include/dxfile.h
+59
-37
mapidefs.h
include/mapidefs.h
+63
-48
mapiutil.h
include/mapiutil.h
+44
-18
mapix.h
include/mapix.h
+34
-29
objbase.h
include/objbase.h
+20
-17
oledlg.h
include/oledlg.h
+106
-52
shlobj.h
include/shlobj.h
+16
-16
shlwapi.h
include/shlwapi.h
+22
-21
vfw.h
include/vfw.h
+64
-39
No files found.
include/commctrl.h
View file @
5d0160ea
...
...
@@ -590,9 +590,6 @@ HIMAGELIST WINAPI ImageList_LoadImageW(HINSTANCE,LPCWSTR,INT,INT,
COLORREF
,
UINT
,
UINT
);
#define ImageList_LoadImage WINELIB_NAME_AW(ImageList_LoadImage)
HIMAGELIST
WINAPI
ImageList_Merge
(
HIMAGELIST
,
INT
,
HIMAGELIST
,
INT
,
INT
,
INT
);
#ifdef IStream_METHODS
HIMAGELIST
WINAPI
ImageList_Read
(
LPSTREAM
);
#endif
BOOL
WINAPI
ImageList_Remove
(
HIMAGELIST
,
INT
);
BOOL
WINAPI
ImageList_Replace
(
HIMAGELIST
,
INT
,
HBITMAP
,
HBITMAP
);
INT
WINAPI
ImageList_ReplaceIcon
(
HIMAGELIST
,
INT
,
HICON
);
...
...
@@ -602,7 +599,9 @@ BOOL WINAPI ImageList_SetDragCursorImage(HIMAGELIST,INT,INT,INT);
BOOL
WINAPI
ImageList_SetIconSize
(
HIMAGELIST
,
INT
,
INT
);
BOOL
WINAPI
ImageList_SetImageCount
(
HIMAGELIST
,
UINT
);
BOOL
WINAPI
ImageList_SetOverlayImage
(
HIMAGELIST
,
INT
,
INT
);
#ifdef IStream_METHODS
#ifdef __IStream_INTERFACE_DEFINED__
HIMAGELIST
WINAPI
ImageList_Read
(
LPSTREAM
);
BOOL
WINAPI
ImageList_Write
(
HIMAGELIST
,
LPSTREAM
);
#endif
...
...
include/d3d.h
View file @
5d0160ea
...
...
@@ -200,15 +200,20 @@ typedef DWORD D3DVIEWPORTHANDLE, *LPD3DVIEWPORTHANDLE;
* IDirect3D interface
*/
#define INTERFACE IDirect3D
#define IDirect3D_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ REFIID riid) PURE; \
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *lplpDirect3DMaterial, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *lplpD3DViewport, IUnknown *pUnkOuter) PURE; \
DECLARE_INTERFACE_
(
IDirect3D
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3D methods ***/
STDMETHOD
(
Initialize
)(
THIS_
REFIID
riid
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
LPD3DENUMDEVICESCALLBACK
lpEnumDevicesCallback
,
LPVOID
lpUserArg
)
PURE
;
STDMETHOD
(
CreateLight
)(
THIS_
LPDIRECT3DLIGHT
*
lplpDirect3DLight
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreateMaterial
)(
THIS_
LPDIRECT3DMATERIAL
*
lplpDirect3DMaterial
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreateViewport
)(
THIS_
LPDIRECT3DVIEWPORT
*
lplpD3DViewport
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
FindDevice
)(
THIS_
LPD3DFINDDEVICESEARCH
lpD3DDFS
,
LPD3DFINDDEVICERESULT
lplpD3DDevice
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3D
,
IUnknown
)
{
IDirect3D_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -242,15 +247,20 @@ DECLARE_INTERFACE_(IDirect3D,IUnknown) { IDirect3D_METHODS };
* IDirect3D2 interface
*/
#define INTERFACE IDirect3D2
#define IDirect3D2_METHODS \
IUnknown_METHODS \
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL2 *lplpDirect3DMaterial2, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpD3DViewport2, IUnknown *pUnkOuter) PURE; \
STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; \
DECLARE_INTERFACE_
(
IDirect3D2
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3D2 methods ***/
STDMETHOD
(
EnumDevices
)(
THIS_
LPD3DENUMDEVICESCALLBACK
lpEnumDevicesCallback
,
LPVOID
lpUserArg
)
PURE
;
STDMETHOD
(
CreateLight
)(
THIS_
LPDIRECT3DLIGHT
*
lplpDirect3DLight
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreateMaterial
)(
THIS_
LPDIRECT3DMATERIAL2
*
lplpDirect3DMaterial2
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreateViewport
)(
THIS_
LPDIRECT3DVIEWPORT2
*
lplpD3DViewport2
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
FindDevice
)(
THIS_
LPD3DFINDDEVICESEARCH
lpD3DDFS
,
LPD3DFINDDEVICERESULT
lpD3DFDR
)
PURE
;
STDMETHOD
(
CreateDevice
)(
THIS_
REFCLSID
rclsid
,
LPDIRECTDRAWSURFACE
lpDDS
,
LPDIRECT3DDEVICE2
*
lplpD3DDevice2
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3D2
,
IUnknown
)
{
IDirect3D2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -284,18 +294,23 @@ DECLARE_INTERFACE_(IDirect3D2,IUnknown) { IDirect3D2_METHODS };
* IDirect3D3 interface
*/
#define INTERFACE IDirect3D3
#define IDirect3D3_METHODS \
IUnknown_METHODS \
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *lplpDirect3DLight, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL3 *lplpDirect3DMaterial3, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpD3DViewport3, IUnknown *pUnkOuter) PURE; \
STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH lpD3DDFS, LPD3DFINDDEVICERESULT lpD3DFDR) PURE; \
STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE4 lpDDS, LPDIRECT3DDEVICE3 *lplpD3DDevice3,LPUNKNOWN lpUnk) PURE; \
STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER *lplpD3DVertBuf,DWORD dwFlags,LPUNKNOWN lpUnk) PURE; \
STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; \
DECLARE_INTERFACE_
(
IDirect3D3
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3D3 methods ***/
STDMETHOD
(
EnumDevices
)(
THIS_
LPD3DENUMDEVICESCALLBACK
lpEnumDevicesCallback
,
LPVOID
lpUserArg
)
PURE
;
STDMETHOD
(
CreateLight
)(
THIS_
LPDIRECT3DLIGHT
*
lplpDirect3DLight
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreateMaterial
)(
THIS_
LPDIRECT3DMATERIAL3
*
lplpDirect3DMaterial3
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreateViewport
)(
THIS_
LPDIRECT3DVIEWPORT3
*
lplpD3DViewport3
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
FindDevice
)(
THIS_
LPD3DFINDDEVICESEARCH
lpD3DDFS
,
LPD3DFINDDEVICERESULT
lpD3DFDR
)
PURE
;
STDMETHOD
(
CreateDevice
)(
THIS_
REFCLSID
rclsid
,
LPDIRECTDRAWSURFACE4
lpDDS
,
LPDIRECT3DDEVICE3
*
lplpD3DDevice3
,
LPUNKNOWN
lpUnk
)
PURE
;
STDMETHOD
(
CreateVertexBuffer
)(
THIS_
LPD3DVERTEXBUFFERDESC
lpD3DVertBufDesc
,
LPDIRECT3DVERTEXBUFFER
*
lplpD3DVertBuf
,
DWORD
dwFlags
,
LPUNKNOWN
lpUnk
)
PURE
;
STDMETHOD
(
EnumZBufferFormats
)(
THIS_
REFCLSID
riidDevice
,
LPD3DENUMPIXELFORMATSCALLBACK
lpEnumCallback
,
LPVOID
lpContext
)
PURE
;
STDMETHOD
(
EvictManagedTextures
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3D3
,
IUnknown
)
{
IDirect3D3_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -334,14 +349,19 @@ DECLARE_INTERFACE_(IDirect3D3,IUnknown) { IDirect3D3_METHODS };
* IDirect3D7 interface
*/
#define INTERFACE IDirect3D7
#define IDirect3D7_METHODS \
IUnknown_METHODS \
STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK7 lpEnumDevicesCallback, LPVOID lpUserArg) PURE; \
STDMETHOD(CreateDevice)(THIS_ REFCLSID rclsid,LPDIRECTDRAWSURFACE7 lpDDS, LPDIRECT3DDEVICE7 *lplpD3DDevice) PURE; \
STDMETHOD(CreateVertexBuffer)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertBufDesc,LPDIRECT3DVERTEXBUFFER7 *lplpD3DVertBuf,DWORD dwFlags) PURE; \
STDMETHOD(EnumZBufferFormats)(THIS_ REFCLSID riidDevice,LPD3DENUMPIXELFORMATSCALLBACK lpEnumCallback,LPVOID lpContext) PURE; \
DECLARE_INTERFACE_
(
IDirect3D7
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3D7 methods ***/
STDMETHOD
(
EnumDevices
)(
THIS_
LPD3DENUMDEVICESCALLBACK7
lpEnumDevicesCallback
,
LPVOID
lpUserArg
)
PURE
;
STDMETHOD
(
CreateDevice
)(
THIS_
REFCLSID
rclsid
,
LPDIRECTDRAWSURFACE7
lpDDS
,
LPDIRECT3DDEVICE7
*
lplpD3DDevice
)
PURE
;
STDMETHOD
(
CreateVertexBuffer
)(
THIS_
LPD3DVERTEXBUFFERDESC
lpD3DVertBufDesc
,
LPDIRECT3DVERTEXBUFFER7
*
lplpD3DVertBuf
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumZBufferFormats
)(
THIS_
REFCLSID
riidDevice
,
LPD3DENUMPIXELFORMATSCALLBACK
lpEnumCallback
,
LPVOID
lpContext
)
PURE
;
STDMETHOD
(
EvictManagedTextures
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3D7
,
IUnknown
)
{
IDirect3D7_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -373,12 +393,17 @@ DECLARE_INTERFACE_(IDirect3D7,IUnknown) { IDirect3D7_METHODS };
* IDirect3DLight interface
*/
#define INTERFACE IDirect3DLight
#define IDirect3DLight_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
STDMETHOD(SetLight)(THIS_ LPD3DLIGHT lpLight) PURE; \
DECLARE_INTERFACE_
(
IDirect3DLight
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DLight methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3D
lpDirect3D
)
PURE
;
STDMETHOD
(
SetLight
)(
THIS_
LPD3DLIGHT
lpLight
)
PURE
;
STDMETHOD
(
GetLight
)(
THIS_
LPD3DLIGHT
lpLight
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DLight
,
IUnknown
)
{
IDirect3DLight_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -406,15 +431,20 @@ DECLARE_INTERFACE_(IDirect3DLight,IUnknown) { IDirect3DLight_METHODS };
* IDirect3DMaterial interface
*/
#define INTERFACE IDirect3DMaterial
#define IDirect3DMaterial_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DMATERIALHANDLE lpHandle) PURE; \
STDMETHOD(Reserve)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DMaterial
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DMaterial methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3D
lpDirect3D
)
PURE
;
STDMETHOD
(
SetMaterial
)(
THIS_
LPD3DMATERIAL
lpMat
)
PURE
;
STDMETHOD
(
GetMaterial
)(
THIS_
LPD3DMATERIAL
lpMat
)
PURE
;
STDMETHOD
(
GetHandle
)(
THIS_
LPDIRECT3DDEVICE
lpDirect3DDevice
,
LPD3DMATERIALHANDLE
lpHandle
)
PURE
;
STDMETHOD
(
Reserve
)(
THIS
)
PURE
;
STDMETHOD
(
Unreserve
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DMaterial
,
IUnknown
)
{
IDirect3DMaterial_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -448,12 +478,17 @@ DECLARE_INTERFACE_(IDirect3DMaterial,IUnknown) { IDirect3DMaterial_METHODS };
* IDirect3DMaterial2 interface
*/
#define INTERFACE IDirect3DMaterial2
#define IDirect3DMaterial2_METHODS \
IUnknown_METHODS \
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
DECLARE_INTERFACE_
(
IDirect3DMaterial2
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DMaterial2 methods ***/
STDMETHOD
(
SetMaterial
)(
THIS_
LPD3DMATERIAL
lpMat
)
PURE
;
STDMETHOD
(
GetMaterial
)(
THIS_
LPD3DMATERIAL
lpMat
)
PURE
;
STDMETHOD
(
GetHandle
)(
THIS_
LPDIRECT3DDEVICE2
lpDirect3DDevice2
,
LPD3DMATERIALHANDLE
lpHandle
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DMaterial2
,
IUnknown
)
{
IDirect3DMaterial2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -481,12 +516,17 @@ DECLARE_INTERFACE_(IDirect3DMaterial2,IUnknown) { IDirect3DMaterial2_METHODS };
* IDirect3DMaterial3 interface
*/
#define INTERFACE IDirect3DMaterial3
#define IDirect3DMaterial3_METHODS \
IUnknown_METHODS \
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL lpMat) PURE; \
DECLARE_INTERFACE_
(
IDirect3DMaterial3
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DMaterial3 methods ***/
STDMETHOD
(
SetMaterial
)(
THIS_
LPD3DMATERIAL
lpMat
)
PURE
;
STDMETHOD
(
GetMaterial
)(
THIS_
LPD3DMATERIAL
lpMat
)
PURE
;
STDMETHOD
(
GetHandle
)(
THIS_
LPDIRECT3DDEVICE3
lpDirect3DDevice3
,
LPD3DMATERIALHANDLE
lpHandle
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DMaterial3
,
IUnknown
)
{
IDirect3DMaterial3_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -514,14 +554,19 @@ DECLARE_INTERFACE_(IDirect3DMaterial3,IUnknown) { IDirect3DMaterial3_METHODS };
* IDirect3DTexture interface
*/
#define INTERFACE IDirect3DTexture
#define IDirect3DTexture_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPDIRECTDRAWSURFACE lpDDSurface) PURE; \
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DTEXTUREHANDLE lpHandle) PURE; \
STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; \
STDMETHOD(Load)(THIS_ LPDIRECT3DTEXTURE lpD3DTexture) PURE; \
DECLARE_INTERFACE_
(
IDirect3DTexture
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DTexture methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3DDEVICE
lpDirect3DDevice
,
LPDIRECTDRAWSURFACE
lpDDSurface
)
PURE
;
STDMETHOD
(
GetHandle
)(
THIS_
LPDIRECT3DDEVICE
lpDirect3DDevice
,
LPD3DTEXTUREHANDLE
lpHandle
)
PURE
;
STDMETHOD
(
PaletteChanged
)(
THIS_
DWORD
dwStart
,
DWORD
dwCount
)
PURE
;
STDMETHOD
(
Load
)(
THIS_
LPDIRECT3DTEXTURE
lpD3DTexture
)
PURE
;
STDMETHOD
(
Unload
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DTexture
,
IUnknown
)
{
IDirect3DTexture_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -553,12 +598,17 @@ DECLARE_INTERFACE_(IDirect3DTexture,IUnknown) { IDirect3DTexture_METHODS };
* IDirect3DTexture2 interface
*/
#define INTERFACE IDirect3DTexture2
#define IDirect3DTexture2_METHODS \
IUnknown_METHODS \
STDMETHOD(GetHandle)(THIS_ LPDIRECT3DDEVICE2 lpDirect3DDevice2, LPD3DTEXTUREHANDLE lpHandle) PURE; \
STDMETHOD(PaletteChanged)(THIS_ DWORD dwStart, DWORD dwCount) PURE; \
DECLARE_INTERFACE_
(
IDirect3DTexture2
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DTexture2 methods ***/
STDMETHOD
(
GetHandle
)(
THIS_
LPDIRECT3DDEVICE2
lpDirect3DDevice2
,
LPD3DTEXTUREHANDLE
lpHandle
)
PURE
;
STDMETHOD
(
PaletteChanged
)(
THIS_
DWORD
dwStart
,
DWORD
dwCount
)
PURE
;
STDMETHOD
(
Load
)(
THIS_
LPDIRECT3DTEXTURE2
lpD3DTexture2
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DTexture2
,
IUnknown
)
{
IDirect3DTexture2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -586,22 +636,27 @@ DECLARE_INTERFACE_(IDirect3DTexture2,IUnknown) { IDirect3DTexture2_METHODS };
* IDirect3DViewport interface
*/
#define INTERFACE IDirect3DViewport
#define IDirect3DViewport_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D) PURE; \
STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT lpData) PURE; \
STDMETHOD(TransformVertices)(THIS_ DWORD dwVertexCount, LPD3DTRANSFORMDATA lpData, DWORD dwFlags, LPDWORD lpOffScreen) PURE; \
STDMETHOD(LightElements)(THIS_ DWORD dwElementCount, LPD3DLIGHTDATA lpData) PURE; \
STDMETHOD(SetBackground)(THIS_ D3DMATERIALHANDLE hMat) PURE; \
STDMETHOD(GetBackground)(THIS_ LPD3DMATERIALHANDLE lphMat, LPBOOL lpValid) PURE; \
STDMETHOD(SetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface) PURE; \
STDMETHOD(GetBackgroundDepth)(THIS_ LPDIRECTDRAWSURFACE *lplpDDSurface, LPBOOL lpValid) PURE; \
STDMETHOD(Clear)(THIS_ DWORD dwCount, LPD3DRECT lpRects, DWORD dwFlags) PURE; \
STDMETHOD(AddLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; \
STDMETHOD(DeleteLight)(THIS_ LPDIRECT3DLIGHT lpDirect3DLight) PURE; \
DECLARE_INTERFACE_
(
IDirect3DViewport
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DViewport methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3D
lpDirect3D
)
PURE
;
STDMETHOD
(
GetViewport
)(
THIS_
LPD3DVIEWPORT
lpData
)
PURE
;
STDMETHOD
(
SetViewport
)(
THIS_
LPD3DVIEWPORT
lpData
)
PURE
;
STDMETHOD
(
TransformVertices
)(
THIS_
DWORD
dwVertexCount
,
LPD3DTRANSFORMDATA
lpData
,
DWORD
dwFlags
,
LPDWORD
lpOffScreen
)
PURE
;
STDMETHOD
(
LightElements
)(
THIS_
DWORD
dwElementCount
,
LPD3DLIGHTDATA
lpData
)
PURE
;
STDMETHOD
(
SetBackground
)(
THIS_
D3DMATERIALHANDLE
hMat
)
PURE
;
STDMETHOD
(
GetBackground
)(
THIS_
LPD3DMATERIALHANDLE
lphMat
,
LPBOOL
lpValid
)
PURE
;
STDMETHOD
(
SetBackgroundDepth
)(
THIS_
LPDIRECTDRAWSURFACE
lpDDSurface
)
PURE
;
STDMETHOD
(
GetBackgroundDepth
)(
THIS_
LPDIRECTDRAWSURFACE
*
lplpDDSurface
,
LPBOOL
lpValid
)
PURE
;
STDMETHOD
(
Clear
)(
THIS_
DWORD
dwCount
,
LPD3DRECT
lpRects
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
AddLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
)
PURE
;
STDMETHOD
(
DeleteLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
)
PURE
;
STDMETHOD
(
NextLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
,
LPDIRECT3DLIGHT
*
lplpDirect3DLight
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DViewport
,
IUnknown
)
{
IDirect3DViewport_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -649,11 +704,30 @@ DECLARE_INTERFACE_(IDirect3DViewport,IUnknown) { IDirect3DViewport_METHODS };
* IDirect3DViewport2 interface
*/
#define INTERFACE IDirect3DViewport2
#define IDirect3DViewport2_METHODS \
IDirect3DViewport_METHODS \
STDMETHOD(GetViewport2)(THIS_ LPD3DVIEWPORT2 lpData) PURE; \
DECLARE_INTERFACE_
(
IDirect3DViewport2
,
IDirect3DViewport
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DViewport methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3D
lpDirect3D
)
PURE
;
STDMETHOD
(
GetViewport
)(
THIS_
LPD3DVIEWPORT
lpData
)
PURE
;
STDMETHOD
(
SetViewport
)(
THIS_
LPD3DVIEWPORT
lpData
)
PURE
;
STDMETHOD
(
TransformVertices
)(
THIS_
DWORD
dwVertexCount
,
LPD3DTRANSFORMDATA
lpData
,
DWORD
dwFlags
,
LPDWORD
lpOffScreen
)
PURE
;
STDMETHOD
(
LightElements
)(
THIS_
DWORD
dwElementCount
,
LPD3DLIGHTDATA
lpData
)
PURE
;
STDMETHOD
(
SetBackground
)(
THIS_
D3DMATERIALHANDLE
hMat
)
PURE
;
STDMETHOD
(
GetBackground
)(
THIS_
LPD3DMATERIALHANDLE
lphMat
,
LPBOOL
lpValid
)
PURE
;
STDMETHOD
(
SetBackgroundDepth
)(
THIS_
LPDIRECTDRAWSURFACE
lpDDSurface
)
PURE
;
STDMETHOD
(
GetBackgroundDepth
)(
THIS_
LPDIRECTDRAWSURFACE
*
lplpDDSurface
,
LPBOOL
lpValid
)
PURE
;
STDMETHOD
(
Clear
)(
THIS_
DWORD
dwCount
,
LPD3DRECT
lpRects
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
AddLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
)
PURE
;
STDMETHOD
(
DeleteLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
)
PURE
;
STDMETHOD
(
NextLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
,
LPDIRECT3DLIGHT
*
lplpDirect3DLight
,
DWORD
dwFlags
)
PURE
;
/*** IDirect3DViewport2 methods ***/
STDMETHOD
(
GetViewport2
)(
THIS_
LPD3DVIEWPORT2
lpData
)
PURE
;
STDMETHOD
(
SetViewport2
)(
THIS_
LPD3DVIEWPORT2
lpData
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DViewport2
,
IDirect3DViewport
)
{
IDirect3DViewport2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -706,12 +780,34 @@ DECLARE_INTERFACE_(IDirect3DViewport2,IDirect3DViewport) { IDirect3DViewport2_ME
* IDirect3DViewport3 interface
*/
#define INTERFACE IDirect3DViewport3
#define IDirect3DViewport3_METHODS \
IDirect3DViewport2_METHODS \
STDMETHOD(SetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 lpDDS) PURE; \
STDMETHOD(GetBackgroundDepth2)(THIS_ LPDIRECTDRAWSURFACE4 *lplpDDS,LPBOOL lpValid) PURE; \
DECLARE_INTERFACE_
(
IDirect3DViewport3
,
IDirect3DViewport2
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DViewport methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3D
lpDirect3D
)
PURE
;
STDMETHOD
(
GetViewport
)(
THIS_
LPD3DVIEWPORT
lpData
)
PURE
;
STDMETHOD
(
SetViewport
)(
THIS_
LPD3DVIEWPORT
lpData
)
PURE
;
STDMETHOD
(
TransformVertices
)(
THIS_
DWORD
dwVertexCount
,
LPD3DTRANSFORMDATA
lpData
,
DWORD
dwFlags
,
LPDWORD
lpOffScreen
)
PURE
;
STDMETHOD
(
LightElements
)(
THIS_
DWORD
dwElementCount
,
LPD3DLIGHTDATA
lpData
)
PURE
;
STDMETHOD
(
SetBackground
)(
THIS_
D3DMATERIALHANDLE
hMat
)
PURE
;
STDMETHOD
(
GetBackground
)(
THIS_
LPD3DMATERIALHANDLE
lphMat
,
LPBOOL
lpValid
)
PURE
;
STDMETHOD
(
SetBackgroundDepth
)(
THIS_
LPDIRECTDRAWSURFACE
lpDDSurface
)
PURE
;
STDMETHOD
(
GetBackgroundDepth
)(
THIS_
LPDIRECTDRAWSURFACE
*
lplpDDSurface
,
LPBOOL
lpValid
)
PURE
;
STDMETHOD
(
Clear
)(
THIS_
DWORD
dwCount
,
LPD3DRECT
lpRects
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
AddLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
)
PURE
;
STDMETHOD
(
DeleteLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
)
PURE
;
STDMETHOD
(
NextLight
)(
THIS_
LPDIRECT3DLIGHT
lpDirect3DLight
,
LPDIRECT3DLIGHT
*
lplpDirect3DLight
,
DWORD
dwFlags
)
PURE
;
/*** IDirect3DViewport2 methods ***/
STDMETHOD
(
GetViewport2
)(
THIS_
LPD3DVIEWPORT2
lpData
)
PURE
;
STDMETHOD
(
SetViewport2
)(
THIS_
LPD3DVIEWPORT2
lpData
)
PURE
;
/*** IDirect3DViewport3 methods ***/
STDMETHOD
(
SetBackgroundDepth2
)(
THIS_
LPDIRECTDRAWSURFACE4
lpDDS
)
PURE
;
STDMETHOD
(
GetBackgroundDepth2
)(
THIS_
LPDIRECTDRAWSURFACE4
*
lplpDDS
,
LPBOOL
lpValid
)
PURE
;
STDMETHOD
(
Clear2
)(
THIS_
DWORD
dwCount
,
LPD3DRECT
lpRects
,
DWORD
dwFlags
,
DWORD
dwColor
,
D3DVALUE
dvZ
,
DWORD
dwStencil
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DViewport3
,
IDirect3DViewport2
)
{
IDirect3DViewport3_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -774,16 +870,21 @@ DECLARE_INTERFACE_(IDirect3DViewport3,IDirect3DViewport2) { IDirect3DViewport3_M
* IDirect3DExecuteBuffer interface
*/
#define INTERFACE IDirect3DExecuteBuffer
#define IDirect3DExecuteBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3DDEVICE lpDirect3DDevice, LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
STDMETHOD(Lock)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(SetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; \
STDMETHOD(GetExecuteData)(THIS_ LPD3DEXECUTEDATA lpData) PURE; \
STDMETHOD(Validate)(THIS_ LPDWORD lpdwOffset, LPD3DVALIDATECALLBACK lpFunc, LPVOID lpUserArg, DWORD dwReserved) PURE; \
DECLARE_INTERFACE_
(
IDirect3DExecuteBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DExecuteBuffer methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3DDEVICE
lpDirect3DDevice
,
LPD3DEXECUTEBUFFERDESC
lpDesc
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
LPD3DEXECUTEBUFFERDESC
lpDesc
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS
)
PURE
;
STDMETHOD
(
SetExecuteData
)(
THIS_
LPD3DEXECUTEDATA
lpData
)
PURE
;
STDMETHOD
(
GetExecuteData
)(
THIS_
LPD3DEXECUTEDATA
lpData
)
PURE
;
STDMETHOD
(
Validate
)(
THIS_
LPDWORD
lpdwOffset
,
LPD3DVALIDATECALLBACK
lpFunc
,
LPVOID
lpUserArg
,
DWORD
dwReserved
)
PURE
;
STDMETHOD
(
Optimize
)(
THIS_
DWORD
dwDummy
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DExecuteBuffer
,
IUnknown
)
{
IDirect3DExecuteBuffer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -819,28 +920,33 @@ DECLARE_INTERFACE_(IDirect3DExecuteBuffer,IUnknown) { IDirect3DExecuteBuffer_MET
* IDirect3DDevice interface
*/
#define INTERFACE IDirect3DDevice
#define IDirect3DDevice_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ LPDIRECT3D lpDirect3D, LPGUID lpGUID, LPD3DDEVICEDESC lpD3DDVDesc) PURE; \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE lpD3Dtex1, LPDIRECT3DTEXTURE lpD3DTex2) PURE; \
STDMETHOD(CreateExecuteBuffer)(THIS_ LPD3DEXECUTEBUFFERDESC lpDesc, LPDIRECT3DEXECUTEBUFFER *lplpDirect3DExecuteBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
STDMETHOD(Execute)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags) PURE; \
STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; \
STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport) PURE; \
STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT lpDirect3DViewport, LPDIRECT3DVIEWPORT *lplpDirect3DViewport, DWORD dwFlags) PURE; \
STDMETHOD(Pick)(THIS_ LPDIRECT3DEXECUTEBUFFER lpDirect3DExecuteBuffer, LPDIRECT3DVIEWPORT lpDirect3DViewport, DWORD dwFlags, LPD3DRECT lpRect) PURE; \
STDMETHOD(GetPickRecords)(THIS_ LPDWORD lpCount, LPD3DPICKRECORD lpD3DPickRec) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; \
STDMETHOD(CreateMatrix)(THIS_ LPD3DMATRIXHANDLE lpD3DMatHandle) PURE; \
STDMETHOD(SetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(DeleteMatrix)(THIS_ D3DMATRIXHANDLE D3DMatHandle) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DDevice
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DDevice methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECT3D
lpDirect3D
,
LPGUID
lpGUID
,
LPD3DDEVICEDESC
lpD3DDVDesc
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPD3DDEVICEDESC
lpD3DHWDevDesc
,
LPD3DDEVICEDESC
lpD3DHELDevDesc
)
PURE
;
STDMETHOD
(
SwapTextureHandles
)(
THIS_
LPDIRECT3DTEXTURE
lpD3Dtex1
,
LPDIRECT3DTEXTURE
lpD3DTex2
)
PURE
;
STDMETHOD
(
CreateExecuteBuffer
)(
THIS_
LPD3DEXECUTEBUFFERDESC
lpDesc
,
LPDIRECT3DEXECUTEBUFFER
*
lplpDirect3DExecuteBuffer
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
GetStats
)(
THIS_
LPD3DSTATS
lpD3DStats
)
PURE
;
STDMETHOD
(
Execute
)(
THIS_
LPDIRECT3DEXECUTEBUFFER
lpDirect3DExecuteBuffer
,
LPDIRECT3DVIEWPORT
lpDirect3DViewport
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
AddViewport
)(
THIS_
LPDIRECT3DVIEWPORT
lpDirect3DViewport
)
PURE
;
STDMETHOD
(
DeleteViewport
)(
THIS_
LPDIRECT3DVIEWPORT
lpDirect3DViewport
)
PURE
;
STDMETHOD
(
NextViewport
)(
THIS_
LPDIRECT3DVIEWPORT
lpDirect3DViewport
,
LPDIRECT3DVIEWPORT
*
lplpDirect3DViewport
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Pick
)(
THIS_
LPDIRECT3DEXECUTEBUFFER
lpDirect3DExecuteBuffer
,
LPDIRECT3DVIEWPORT
lpDirect3DViewport
,
DWORD
dwFlags
,
LPD3DRECT
lpRect
)
PURE
;
STDMETHOD
(
GetPickRecords
)(
THIS_
LPDWORD
lpCount
,
LPD3DPICKRECORD
lpD3DPickRec
)
PURE
;
STDMETHOD
(
EnumTextureFormats
)(
THIS_
LPD3DENUMTEXTUREFORMATSCALLBACK
lpD3DEnumTextureProc
,
LPVOID
lpArg
)
PURE
;
STDMETHOD
(
CreateMatrix
)(
THIS_
LPD3DMATRIXHANDLE
lpD3DMatHandle
)
PURE
;
STDMETHOD
(
SetMatrix
)(
THIS_
D3DMATRIXHANDLE
D3DMatHandle
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
GetMatrix
)(
THIS_
D3DMATRIXHANDLE
D3DMatHandle
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
DeleteMatrix
)(
THIS_
D3DMATRIXHANDLE
D3DMatHandle
)
PURE
;
STDMETHOD
(
BeginScene
)(
THIS
)
PURE
;
STDMETHOD
(
EndScene
)(
THIS
)
PURE
;
STDMETHOD
(
GetDirect3D
)(
THIS_
LPDIRECT3D
*
lplpDirect3D
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DDevice
,
IUnknown
)
{
IDirect3DDevice_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -900,40 +1006,45 @@ DECLARE_INTERFACE_(IDirect3DDevice,IUnknown) { IDirect3DDevice_METHODS };
* IDirect3DDevice2 interface
*/
#define INTERFACE IDirect3DDevice2
#define IDirect3DDevice2_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(SwapTextureHandles)(THIS_ LPDIRECT3DTEXTURE2 lpD3DTex1, LPDIRECT3DTEXTURE2 lpD3DTex2) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2, LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2, DWORD dwFlags) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMTEXTUREFORMATSCALLBACK lpD3DEnumTextureProc, LPVOID lpArg) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D2 *lplpDirect3D2) PURE; \
/*** DrawPrimitive API ***/
\
STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 lpDirect3DViewport2) PURE; \
STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT2 *lplpDirect3DViewport2) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE lpNewRenderTarget, DWORD dwFlags) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE *lplpRenderTarget) PURE; \
STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dpt,D3DVERTEXTYPE dwVertexTypeDesc,DWORD dwFlags) PURE; \
STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; \
STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; \
STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; \
STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; \
STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, D3DVERTEXTYPE d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
DECLARE_INTERFACE_
(
IDirect3DDevice2
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DDevice2 methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPD3DDEVICEDESC
lpD3DHWDevDesc
,
LPD3DDEVICEDESC
lpD3DHELDevDesc
)
PURE
;
STDMETHOD
(
SwapTextureHandles
)(
THIS_
LPDIRECT3DTEXTURE2
lpD3DTex1
,
LPDIRECT3DTEXTURE2
lpD3DTex2
)
PURE
;
STDMETHOD
(
GetStats
)(
THIS_
LPD3DSTATS
lpD3DStats
)
PURE
;
STDMETHOD
(
AddViewport
)(
THIS_
LPDIRECT3DVIEWPORT2
lpDirect3DViewport2
)
PURE
;
STDMETHOD
(
DeleteViewport
)(
THIS_
LPDIRECT3DVIEWPORT2
lpDirect3DViewport2
)
PURE
;
STDMETHOD
(
NextViewport
)(
THIS_
LPDIRECT3DVIEWPORT2
lpDirect3DViewport2
,
LPDIRECT3DVIEWPORT2
*
lplpDirect3DViewport2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumTextureFormats
)(
THIS_
LPD3DENUMTEXTUREFORMATSCALLBACK
lpD3DEnumTextureProc
,
LPVOID
lpArg
)
PURE
;
STDMETHOD
(
BeginScene
)(
THIS
)
PURE
;
STDMETHOD
(
EndScene
)(
THIS
)
PURE
;
STDMETHOD
(
GetDirect3D
)(
THIS_
LPDIRECT3D2
*
lplpDirect3D2
)
PURE
;
/*** DrawPrimitive API ***/
STDMETHOD
(
SetCurrentViewport
)(
THIS_
LPDIRECT3DVIEWPORT2
lpDirect3DViewport2
)
PURE
;
STDMETHOD
(
GetCurrentViewport
)(
THIS_
LPDIRECT3DVIEWPORT2
*
lplpDirect3DViewport2
)
PURE
;
STDMETHOD
(
SetRenderTarget
)(
THIS_
LPDIRECTDRAWSURFACE
lpNewRenderTarget
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetRenderTarget
)(
THIS_
LPDIRECTDRAWSURFACE
*
lplpRenderTarget
)
PURE
;
STDMETHOD
(
Begin
)(
THIS_
D3DPRIMITIVETYPE
d3dpt
,
D3DVERTEXTYPE
dwVertexTypeDesc
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
BeginIndexed
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
D3DVERTEXTYPE
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwNumVertices
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Vertex
)(
THIS_
LPVOID
lpVertexType
)
PURE
;
STDMETHOD
(
Index
)(
THIS_
WORD
wVertexIndex
)
PURE
;
STDMETHOD
(
End
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetRenderState
)(
THIS_
D3DRENDERSTATETYPE
dwRenderStateType
,
LPDWORD
lpdwRenderState
)
PURE
;
STDMETHOD
(
SetRenderState
)(
THIS_
D3DRENDERSTATETYPE
dwRenderStateType
,
DWORD
dwRenderState
)
PURE
;
STDMETHOD
(
GetLightState
)(
THIS_
D3DLIGHTSTATETYPE
dwLightStateType
,
LPDWORD
lpdwLightState
)
PURE
;
STDMETHOD
(
SetLightState
)(
THIS_
D3DLIGHTSTATETYPE
dwLightStateType
,
DWORD
dwLightState
)
PURE
;
STDMETHOD
(
SetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
GetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
MultiplyTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
DrawPrimitive
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
D3DVERTEXTYPE
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwVertexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitive
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
D3DVERTEXTYPE
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwVertexCount
,
LPWORD
dwIndices
,
DWORD
dwIndexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetClipStatus
)(
THIS_
LPD3DCLIPSTATUS
lpD3DClipStatus
)
PURE
;
STDMETHOD
(
GetClipStatus
)(
THIS_
LPD3DCLIPSTATUS
lpD3DClipStatus
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DDevice2
,
IUnknown
)
{
IDirect3DDevice2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1014,49 +1125,54 @@ DECLARE_INTERFACE_(IDirect3DDevice2,IUnknown) { IDirect3DDevice2_METHODS };
* IDirect3DDevice3 interface
*/
#define INTERFACE IDirect3DDevice3
#define IDirect3DDevice3_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC lpD3DHWDevDesc, LPD3DDEVICEDESC lpD3DHELDevDesc) PURE; \
STDMETHOD(GetStats)(THIS_ LPD3DSTATS lpD3DStats) PURE; \
STDMETHOD(AddViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
STDMETHOD(DeleteViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
STDMETHOD(NextViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3, LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3, DWORD dwFlags) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D3 *lplpDirect3D3) PURE; \
/*** DrawPrimitive API ***/
\
STDMETHOD(SetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 lpDirect3DViewport3) PURE; \
STDMETHOD(GetCurrentViewport)(THIS_ LPDIRECT3DVIEWPORT3 *lplpDirect3DViewport3) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 lpNewRenderTarget, DWORD dwFlags) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE4 *lplpRenderTarget) PURE; \
STDMETHOD(Begin)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexTypeDesc, DWORD dwFlags) PURE; \
STDMETHOD(BeginIndexed)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwNumVertices, DWORD dwFlags) PURE; \
STDMETHOD(Vertex)(THIS_ LPVOID lpVertexType) PURE; \
STDMETHOD(Index)(THIS_ WORD wVertexIndex) PURE; \
STDMETHOD(End)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
STDMETHOD(GetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, LPDWORD lpdwLightState) PURE; \
STDMETHOD(SetLightState)(THIS_ D3DLIGHTSTATETYPE dwLightStateType, DWORD dwLightState) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER lpD3DVertexBuf,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; \
STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 *lplpTexture2) PURE; \
STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECT3DTEXTURE2 lpTexture2) PURE; \
STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; \
STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; \
DECLARE_INTERFACE_
(
IDirect3DDevice3
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DDevice3 methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPD3DDEVICEDESC
lpD3DHWDevDesc
,
LPD3DDEVICEDESC
lpD3DHELDevDesc
)
PURE
;
STDMETHOD
(
GetStats
)(
THIS_
LPD3DSTATS
lpD3DStats
)
PURE
;
STDMETHOD
(
AddViewport
)(
THIS_
LPDIRECT3DVIEWPORT3
lpDirect3DViewport3
)
PURE
;
STDMETHOD
(
DeleteViewport
)(
THIS_
LPDIRECT3DVIEWPORT3
lpDirect3DViewport3
)
PURE
;
STDMETHOD
(
NextViewport
)(
THIS_
LPDIRECT3DVIEWPORT3
lpDirect3DViewport3
,
LPDIRECT3DVIEWPORT3
*
lplpDirect3DViewport3
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumTextureFormats
)(
THIS_
LPD3DENUMPIXELFORMATSCALLBACK
lpD3DEnumPixelProc
,
LPVOID
lpArg
)
PURE
;
STDMETHOD
(
BeginScene
)(
THIS
)
PURE
;
STDMETHOD
(
EndScene
)(
THIS
)
PURE
;
STDMETHOD
(
GetDirect3D
)(
THIS_
LPDIRECT3D3
*
lplpDirect3D3
)
PURE
;
/*** DrawPrimitive API ***/
STDMETHOD
(
SetCurrentViewport
)(
THIS_
LPDIRECT3DVIEWPORT3
lpDirect3DViewport3
)
PURE
;
STDMETHOD
(
GetCurrentViewport
)(
THIS_
LPDIRECT3DVIEWPORT3
*
lplpDirect3DViewport3
)
PURE
;
STDMETHOD
(
SetRenderTarget
)(
THIS_
LPDIRECTDRAWSURFACE4
lpNewRenderTarget
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetRenderTarget
)(
THIS_
LPDIRECTDRAWSURFACE4
*
lplpRenderTarget
)
PURE
;
STDMETHOD
(
Begin
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
dwVertexTypeDesc
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
BeginIndexed
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwNumVertices
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Vertex
)(
THIS_
LPVOID
lpVertexType
)
PURE
;
STDMETHOD
(
Index
)(
THIS_
WORD
wVertexIndex
)
PURE
;
STDMETHOD
(
End
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetRenderState
)(
THIS_
D3DRENDERSTATETYPE
dwRenderStateType
,
LPDWORD
lpdwRenderState
)
PURE
;
STDMETHOD
(
SetRenderState
)(
THIS_
D3DRENDERSTATETYPE
dwRenderStateType
,
DWORD
dwRenderState
)
PURE
;
STDMETHOD
(
GetLightState
)(
THIS_
D3DLIGHTSTATETYPE
dwLightStateType
,
LPDWORD
lpdwLightState
)
PURE
;
STDMETHOD
(
SetLightState
)(
THIS_
D3DLIGHTSTATETYPE
dwLightStateType
,
DWORD
dwLightState
)
PURE
;
STDMETHOD
(
SetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
GetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
MultiplyTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
DrawPrimitive
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwVertexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitive
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwVertexCount
,
LPWORD
dwIndices
,
DWORD
dwIndexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetClipStatus
)(
THIS_
LPD3DCLIPSTATUS
lpD3DClipStatus
)
PURE
;
STDMETHOD
(
GetClipStatus
)(
THIS_
LPD3DCLIPSTATUS
lpD3DClipStatus
)
PURE
;
STDMETHOD
(
DrawPrimitiveStrided
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
dwVertexType
,
LPD3DDRAWPRIMITIVESTRIDEDDATA
lpD3DDrawPrimStrideData
,
DWORD
dwVertexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitiveStrided
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
dwVertexType
,
LPD3DDRAWPRIMITIVESTRIDEDDATA
lpD3DDrawPrimStrideData
,
DWORD
dwVertexCount
,
LPWORD
lpIndex
,
DWORD
dwIndexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawPrimitiveVB
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
LPDIRECT3DVERTEXBUFFER
lpD3DVertexBuf
,
DWORD
dwStartVertex
,
DWORD
dwNumVertices
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitiveVB
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
LPDIRECT3DVERTEXBUFFER
lpD3DVertexBuf
,
LPWORD
lpwIndices
,
DWORD
dwIndexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ComputeSphereVisibility
)(
THIS_
LPD3DVECTOR
lpCenters
,
LPD3DVALUE
lpRadii
,
DWORD
dwNumSpheres
,
DWORD
dwFlags
,
LPDWORD
lpdwReturnValues
)
PURE
;
STDMETHOD
(
GetTexture
)(
THIS_
DWORD
dwStage
,
LPDIRECT3DTEXTURE2
*
lplpTexture2
)
PURE
;
STDMETHOD
(
SetTexture
)(
THIS_
DWORD
dwStage
,
LPDIRECT3DTEXTURE2
lpTexture2
)
PURE
;
STDMETHOD
(
GetTextureStageState
)(
THIS_
DWORD
dwStage
,
D3DTEXTURESTAGESTATETYPE
d3dTexStageStateType
,
LPDWORD
lpdwState
)
PURE
;
STDMETHOD
(
SetTextureStageState
)(
THIS_
DWORD
dwStage
,
D3DTEXTURESTAGESTATETYPE
d3dTexStageStateType
,
DWORD
dwState
)
PURE
;
STDMETHOD
(
ValidateDevice
)(
THIS_
LPDWORD
lpdwPasses
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DDevice3
,
IUnknown
)
{
IDirect3DDevice3_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1155,55 +1271,60 @@ DECLARE_INTERFACE_(IDirect3DDevice3,IUnknown) { IDirect3DDevice3_METHODS };
* IDirect3DDevice7 interface
*/
#define INTERFACE IDirect3DDevice7
#define IDirect3DDevice7_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPD3DDEVICEDESC7 lpD3DHELDevDesc) PURE; \
STDMETHOD(EnumTextureFormats)(THIS_ LPD3DENUMPIXELFORMATSCALLBACK lpD3DEnumPixelProc, LPVOID lpArg) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ LPDIRECT3D7 *lplpDirect3D3) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 lpNewRenderTarget,DWORD dwFlags) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ LPDIRECTDRAWSURFACE7 *lplpRenderTarget) PURE; \
STDMETHOD(Clear)(THIS_ DWORD dwCount,LPD3DRECT lpRects,DWORD dwFlags,D3DCOLOR dwColor,D3DVALUE dvZ,DWORD dwStencil) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType, LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(SetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE dtstTransformStateType,LPD3DMATRIX lpD3DMatrix) PURE; \
STDMETHOD(GetViewport)(THIS_ LPD3DVIEWPORT7 lpData) PURE; \
STDMETHOD(SetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; \
STDMETHOD(GetMaterial)(THIS_ LPD3DMATERIAL7 lpMat) PURE; \
STDMETHOD(SetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; \
STDMETHOD(GetLight)(THIS_ DWORD dwLightIndex,LPD3DLIGHT7 lpLight) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, DWORD dwRenderState) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE dwRenderStateType, LPDWORD lpdwRenderState) PURE; \
STDMETHOD(BeginStateBlock)(THIS) PURE; \
STDMETHOD(EndStateBlock)(THIS_ LPDWORD lpdwBlockHandle) PURE; \
STDMETHOD(PreLoad)(THIS_ LPDIRECTDRAWSURFACE7 lpddsTexture) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType, DWORD d3dvtVertexType, LPVOID lpvVertices, DWORD dwVertexCount, LPWORD dwIndices, DWORD dwIndexCount, DWORD dwFlags) PURE; \
STDMETHOD(SetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ LPD3DCLIPSTATUS lpD3DClipStatus) PURE; \
STDMETHOD(DrawPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveStrided)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,DWORD dwVertexType,LPD3DDRAWPRIMITIVESTRIDEDDATA lpD3DDrawPrimStrideData,DWORD dwVertexCount,LPWORD lpIndex,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(DrawPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,DWORD dwFlags) PURE; \
STDMETHOD(DrawIndexedPrimitiveVB)(THIS_ D3DPRIMITIVETYPE d3dptPrimitiveType,LPDIRECT3DVERTEXBUFFER7 lpD3DVertexBuf,DWORD dwStartVertex,DWORD dwNumVertices,LPWORD lpwIndices,DWORD dwIndexCount,DWORD dwFlags) PURE; \
STDMETHOD(ComputeSphereVisibility)(THIS_ LPD3DVECTOR lpCenters,LPD3DVALUE lpRadii,DWORD dwNumSpheres,DWORD dwFlags,LPDWORD lpdwReturnValues) PURE; \
STDMETHOD(GetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 *lpTexture) PURE; \
STDMETHOD(SetTexture)(THIS_ DWORD dwStage,LPDIRECTDRAWSURFACE7 lpTexture) PURE; \
STDMETHOD(GetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,LPDWORD lpdwState) PURE; \
STDMETHOD(SetTextureStageState)(THIS_ DWORD dwStage,D3DTEXTURESTAGESTATETYPE d3dTexStageStateType,DWORD dwState) PURE; \
STDMETHOD(ValidateDevice)(THIS_ LPDWORD lpdwPasses) PURE; \
STDMETHOD(ApplyStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
STDMETHOD(CaptureStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
STDMETHOD(DeleteStateBlock)(THIS_ DWORD dwBlockHandle) PURE; \
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE d3dsbType,LPDWORD lpdwBlockHandle) PURE; \
STDMETHOD(Load)(THIS_ LPDIRECTDRAWSURFACE7 lpDestTex,LPPOINT lpDestPoint,LPDIRECTDRAWSURFACE7 lpSrcTex,LPRECT lprcSrcRect,DWORD dwFlags) PURE; \
STDMETHOD(LightEnable)(THIS_ DWORD dwLightIndex,BOOL bEnable) PURE; \
STDMETHOD(GetLightEnable)(THIS_ DWORD dwLightIndex,BOOL *pbEnable) PURE; \
STDMETHOD(SetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; \
STDMETHOD(GetClipPlane)(THIS_ DWORD dwIndex,D3DVALUE *pPlaneEquation) PURE; \
DECLARE_INTERFACE_
(
IDirect3DDevice7
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DDevice7 methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPD3DDEVICEDESC7
lpD3DHELDevDesc
)
PURE
;
STDMETHOD
(
EnumTextureFormats
)(
THIS_
LPD3DENUMPIXELFORMATSCALLBACK
lpD3DEnumPixelProc
,
LPVOID
lpArg
)
PURE
;
STDMETHOD
(
BeginScene
)(
THIS
)
PURE
;
STDMETHOD
(
EndScene
)(
THIS
)
PURE
;
STDMETHOD
(
GetDirect3D
)(
THIS_
LPDIRECT3D7
*
lplpDirect3D3
)
PURE
;
STDMETHOD
(
SetRenderTarget
)(
THIS_
LPDIRECTDRAWSURFACE7
lpNewRenderTarget
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetRenderTarget
)(
THIS_
LPDIRECTDRAWSURFACE7
*
lplpRenderTarget
)
PURE
;
STDMETHOD
(
Clear
)(
THIS_
DWORD
dwCount
,
LPD3DRECT
lpRects
,
DWORD
dwFlags
,
D3DCOLOR
dwColor
,
D3DVALUE
dvZ
,
DWORD
dwStencil
)
PURE
;
STDMETHOD
(
SetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
GetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
SetViewport
)(
THIS_
LPD3DVIEWPORT7
lpData
)
PURE
;
STDMETHOD
(
MultiplyTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
dtstTransformStateType
,
LPD3DMATRIX
lpD3DMatrix
)
PURE
;
STDMETHOD
(
GetViewport
)(
THIS_
LPD3DVIEWPORT7
lpData
)
PURE
;
STDMETHOD
(
SetMaterial
)(
THIS_
LPD3DMATERIAL7
lpMat
)
PURE
;
STDMETHOD
(
GetMaterial
)(
THIS_
LPD3DMATERIAL7
lpMat
)
PURE
;
STDMETHOD
(
SetLight
)(
THIS_
DWORD
dwLightIndex
,
LPD3DLIGHT7
lpLight
)
PURE
;
STDMETHOD
(
GetLight
)(
THIS_
DWORD
dwLightIndex
,
LPD3DLIGHT7
lpLight
)
PURE
;
STDMETHOD
(
SetRenderState
)(
THIS_
D3DRENDERSTATETYPE
dwRenderStateType
,
DWORD
dwRenderState
)
PURE
;
STDMETHOD
(
GetRenderState
)(
THIS_
D3DRENDERSTATETYPE
dwRenderStateType
,
LPDWORD
lpdwRenderState
)
PURE
;
STDMETHOD
(
BeginStateBlock
)(
THIS
)
PURE
;
STDMETHOD
(
EndStateBlock
)(
THIS_
LPDWORD
lpdwBlockHandle
)
PURE
;
STDMETHOD
(
PreLoad
)(
THIS_
LPDIRECTDRAWSURFACE7
lpddsTexture
)
PURE
;
STDMETHOD
(
DrawPrimitive
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwVertexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitive
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
d3dvtVertexType
,
LPVOID
lpvVertices
,
DWORD
dwVertexCount
,
LPWORD
dwIndices
,
DWORD
dwIndexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetClipStatus
)(
THIS_
LPD3DCLIPSTATUS
lpD3DClipStatus
)
PURE
;
STDMETHOD
(
GetClipStatus
)(
THIS_
LPD3DCLIPSTATUS
lpD3DClipStatus
)
PURE
;
STDMETHOD
(
DrawPrimitiveStrided
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
dwVertexType
,
LPD3DDRAWPRIMITIVESTRIDEDDATA
lpD3DDrawPrimStrideData
,
DWORD
dwVertexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitiveStrided
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
DWORD
dwVertexType
,
LPD3DDRAWPRIMITIVESTRIDEDDATA
lpD3DDrawPrimStrideData
,
DWORD
dwVertexCount
,
LPWORD
lpIndex
,
DWORD
dwIndexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawPrimitiveVB
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
LPDIRECT3DVERTEXBUFFER7
lpD3DVertexBuf
,
DWORD
dwStartVertex
,
DWORD
dwNumVertices
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitiveVB
)(
THIS_
D3DPRIMITIVETYPE
d3dptPrimitiveType
,
LPDIRECT3DVERTEXBUFFER7
lpD3DVertexBuf
,
DWORD
dwStartVertex
,
DWORD
dwNumVertices
,
LPWORD
lpwIndices
,
DWORD
dwIndexCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ComputeSphereVisibility
)(
THIS_
LPD3DVECTOR
lpCenters
,
LPD3DVALUE
lpRadii
,
DWORD
dwNumSpheres
,
DWORD
dwFlags
,
LPDWORD
lpdwReturnValues
)
PURE
;
STDMETHOD
(
GetTexture
)(
THIS_
DWORD
dwStage
,
LPDIRECTDRAWSURFACE7
*
lpTexture
)
PURE
;
STDMETHOD
(
SetTexture
)(
THIS_
DWORD
dwStage
,
LPDIRECTDRAWSURFACE7
lpTexture
)
PURE
;
STDMETHOD
(
GetTextureStageState
)(
THIS_
DWORD
dwStage
,
D3DTEXTURESTAGESTATETYPE
d3dTexStageStateType
,
LPDWORD
lpdwState
)
PURE
;
STDMETHOD
(
SetTextureStageState
)(
THIS_
DWORD
dwStage
,
D3DTEXTURESTAGESTATETYPE
d3dTexStageStateType
,
DWORD
dwState
)
PURE
;
STDMETHOD
(
ValidateDevice
)(
THIS_
LPDWORD
lpdwPasses
)
PURE
;
STDMETHOD
(
ApplyStateBlock
)(
THIS_
DWORD
dwBlockHandle
)
PURE
;
STDMETHOD
(
CaptureStateBlock
)(
THIS_
DWORD
dwBlockHandle
)
PURE
;
STDMETHOD
(
DeleteStateBlock
)(
THIS_
DWORD
dwBlockHandle
)
PURE
;
STDMETHOD
(
CreateStateBlock
)(
THIS_
D3DSTATEBLOCKTYPE
d3dsbType
,
LPDWORD
lpdwBlockHandle
)
PURE
;
STDMETHOD
(
Load
)(
THIS_
LPDIRECTDRAWSURFACE7
lpDestTex
,
LPPOINT
lpDestPoint
,
LPDIRECTDRAWSURFACE7
lpSrcTex
,
LPRECT
lprcSrcRect
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
LightEnable
)(
THIS_
DWORD
dwLightIndex
,
BOOL
bEnable
)
PURE
;
STDMETHOD
(
GetLightEnable
)(
THIS_
DWORD
dwLightIndex
,
BOOL
*
pbEnable
)
PURE
;
STDMETHOD
(
SetClipPlane
)(
THIS_
DWORD
dwIndex
,
D3DVALUE
*
pPlaneEquation
)
PURE
;
STDMETHOD
(
GetClipPlane
)(
THIS_
DWORD
dwIndex
,
D3DVALUE
*
pPlaneEquation
)
PURE
;
STDMETHOD
(
GetInfo
)(
THIS_
DWORD
dwDevInfoID
,
LPVOID
pDevInfoStruct
,
DWORD
dwSize
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DDevice7
,
IUnknown
)
{
IDirect3DDevice7_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1318,14 +1439,19 @@ DECLARE_INTERFACE_(IDirect3DDevice7,IUnknown) { IDirect3DDevice7_METHODS };
* IDirect3DVertexBuffer interface
*/
#define INTERFACE IDirect3DVertexBuffer
#define IDirect3DVertexBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE3 lpD3DDevice,DWORD dwFlags) PURE; \
STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DVertexBuffer methods ***/
STDMETHOD
(
Lock
)(
THIS_
DWORD
dwFlags
,
LPVOID
*
lplpData
,
LPDWORD
lpdwSize
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS
)
PURE
;
STDMETHOD
(
ProcessVertices
)(
THIS_
DWORD
dwVertexOp
,
DWORD
dwDestIndex
,
DWORD
dwCount
,
LPDIRECT3DVERTEXBUFFER
lpSrcBuffer
,
DWORD
dwSrcIndex
,
LPDIRECT3DDEVICE3
lpD3DDevice
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetVertexBufferDesc
)(
THIS_
LPD3DVERTEXBUFFERDESC
lpD3DVertexBufferDesc
)
PURE
;
STDMETHOD
(
Optimize
)(
THIS_
LPDIRECT3DDEVICE3
lpD3DDevice
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer
,
IUnknown
)
{
IDirect3DVertexBuffer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1356,15 +1482,20 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer,IUnknown) { IDirect3DVertexBuffer_METHO
* IDirect3DVertexBuffer7 interface
*/
#define INTERFACE IDirect3DVertexBuffer7
#define IDirect3DVertexBuffer7_METHODS \
IUnknown_METHODS \
STDMETHOD(Lock)(THIS_ DWORD dwFlags,LPVOID *lplpData,LPDWORD lpdwSize) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
STDMETHOD(ProcessVertices)(THIS_ DWORD dwVertexOp,DWORD dwDestIndex,DWORD dwCount,LPDIRECT3DVERTEXBUFFER7 lpSrcBuffer,DWORD dwSrcIndex,LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; \
STDMETHOD(GetVertexBufferDesc)(THIS_ LPD3DVERTEXBUFFERDESC lpD3DVertexBufferDesc) PURE; \
STDMETHOD(Optimize)(THIS_ LPDIRECT3DDEVICE7 lpD3DDevice,DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer7
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DVertexBuffer7 methods ***/
STDMETHOD
(
Lock
)(
THIS_
DWORD
dwFlags
,
LPVOID
*
lplpData
,
LPDWORD
lpdwSize
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS
)
PURE
;
STDMETHOD
(
ProcessVertices
)(
THIS_
DWORD
dwVertexOp
,
DWORD
dwDestIndex
,
DWORD
dwCount
,
LPDIRECT3DVERTEXBUFFER7
lpSrcBuffer
,
DWORD
dwSrcIndex
,
LPDIRECT3DDEVICE7
lpD3DDevice
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetVertexBufferDesc
)(
THIS_
LPD3DVERTEXBUFFERDESC
lpD3DVertexBufferDesc
)
PURE
;
STDMETHOD
(
Optimize
)(
THIS_
LPDIRECT3DDEVICE7
lpD3DDevice
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ProcessVerticesStrided
)(
THIS_
DWORD
dwVertexOp
,
DWORD
dwDestIndex
,
DWORD
dwCount
,
LPD3DDRAWPRIMITIVESTRIDEDDATA
lpStrideData
,
DWORD
dwVertexTypeDesc
,
LPDIRECT3DDEVICE7
lpD3DDevice
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer7
,
IUnknown
)
{
IDirect3DVertexBuffer7_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/d3d8.h
View file @
5d0160ea
...
...
@@ -117,22 +117,27 @@ typedef struct IDirect3DVolumeTexture8 IDirect3DVolumeTexture8, *LPDIRECT3DVOL
* IDirect3D8 interface
*/
#define INTERFACE IDirect3D8
#define IDirect3D8_METHODS \
IUnknown_METHODS \
STDMETHOD(RegisterSoftwareDevice)(THIS_ void * pInitializeFunction) PURE; \
STDMETHOD_(UINT,GetAdapterCount )(THIS) PURE; \
STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER8 * pIdentifier) PURE; \
STDMETHOD_(UINT,GetAdapterModeCount)(THIS_ UINT Adapter) PURE; \
STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, UINT Mode, D3DDISPLAYMODE * pMode) PURE; \
STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE * pMode) PURE; \
STDMETHOD(CheckDeviceType)(THIS_ UINT Adapter, D3DDEVTYPE CheckType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL Windowed) PURE; \
STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE; \
STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType) PURE; \
STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE; \
STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS8 * pCaps) PURE; \
STDMETHOD_(HMONITOR,GetAdapterMonitor)(THIS_ UINT Adapter) PURE; \
DECLARE_INTERFACE_
(
IDirect3D8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3D8 methods ***/
STDMETHOD
(
RegisterSoftwareDevice
)(
THIS_
void
*
pInitializeFunction
)
PURE
;
STDMETHOD_
(
UINT
,
GetAdapterCount
)(
THIS
)
PURE
;
STDMETHOD
(
GetAdapterIdentifier
)(
THIS_
UINT
Adapter
,
DWORD
Flags
,
D3DADAPTER_IDENTIFIER8
*
pIdentifier
)
PURE
;
STDMETHOD_
(
UINT
,
GetAdapterModeCount
)(
THIS_
UINT
Adapter
)
PURE
;
STDMETHOD
(
EnumAdapterModes
)(
THIS_
UINT
Adapter
,
UINT
Mode
,
D3DDISPLAYMODE
*
pMode
)
PURE
;
STDMETHOD
(
GetAdapterDisplayMode
)(
THIS_
UINT
Adapter
,
D3DDISPLAYMODE
*
pMode
)
PURE
;
STDMETHOD
(
CheckDeviceType
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
CheckType
,
D3DFORMAT
DisplayFormat
,
D3DFORMAT
BackBufferFormat
,
BOOL
Windowed
)
PURE
;
STDMETHOD
(
CheckDeviceFormat
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DFORMAT
AdapterFormat
,
DWORD
Usage
,
D3DRESOURCETYPE
RType
,
D3DFORMAT
CheckFormat
)
PURE
;
STDMETHOD
(
CheckDeviceMultiSampleType
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DFORMAT
SurfaceFormat
,
BOOL
Windowed
,
D3DMULTISAMPLE_TYPE
MultiSampleType
)
PURE
;
STDMETHOD
(
CheckDepthStencilMatch
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DFORMAT
AdapterFormat
,
D3DFORMAT
RenderTargetFormat
,
D3DFORMAT
DepthStencilFormat
)
PURE
;
STDMETHOD
(
GetDeviceCaps
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DCAPS8
*
pCaps
)
PURE
;
STDMETHOD_
(
HMONITOR
,
GetAdapterMonitor
)(
THIS_
UINT
Adapter
)
PURE
;
STDMETHOD
(
CreateDevice
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
HWND
hFocusWindow
,
DWORD
BehaviorFlags
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
,
IDirect3DDevice8
**
ppReturnedDeviceInterface
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3D8
,
IUnknown
)
{
IDirect3D8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -179,103 +184,108 @@ DECLARE_INTERFACE_(IDirect3D8,IUnknown) { IDirect3D8_METHODS };
* IDirect3DDevice8 interface
*/
#define INTERFACE IDirect3DDevice8
#define IDirect3DDevice8_METHODS \
IUnknown_METHODS \
STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
STDMETHOD_(UINT,GetAvailableTextureMem)(THIS) PURE; \
STDMETHOD(ResourceManagerDiscardBytes)(THIS_ DWORD Bytes) PURE; \
STDMETHOD(GetDirect3D)(THIS_ IDirect3D8 ** ppD3D8) PURE; \
STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS8 * pCaps) PURE; \
STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE * pMode) PURE; \
STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS * pParameters) PURE; \
STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface8 * pCursorBitmap) PURE; \
STDMETHOD_(void,SetCursorPosition)(THIS_ UINT XScreenSpace, UINT YScreenSpace,DWORD Flags) PURE; \
STDMETHOD_(BOOL,ShowCursor)(THIS_ BOOL bShow) PURE; \
STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters, IDirect3DSwapChain8 ** pSwapChain) PURE; \
STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS * pPresentationParameters) PURE; \
STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect,CONST RECT * pDestRect,HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; \
STDMETHOD(GetBackBuffer)(THIS_ UINT BackBuffer,D3DBACKBUFFER_TYPE Type,IDirect3DSurface8 ** ppBackBuffer) PURE; \
STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS * pRasterStatus) PURE; \
STDMETHOD_(void,SetGammaRamp)(THIS_ DWORD Flags,CONST D3DGAMMARAMP * pRamp) PURE; \
STDMETHOD_(void,GetGammaRamp)(THIS_ D3DGAMMARAMP * pRamp) PURE; \
STDMETHOD(CreateTexture)(THIS_ UINT Width,UINT Height,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DTexture8 ** ppTexture) PURE; \
STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width,UINT Height,UINT Depth,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DVolumeTexture8 ** ppVolumeTexture) PURE; \
STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength,UINT Levels,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DCubeTexture8 ** ppCubeTexture) PURE; \
STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length,DWORD Usage,DWORD FVF,D3DPOOL Pool,IDirect3DVertexBuffer8 ** ppVertexBuffer) PURE; \
STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length,DWORD Usage,D3DFORMAT Format,D3DPOOL Pool,IDirect3DIndexBuffer8 ** ppIndexBuffer) PURE; \
STDMETHOD(CreateRenderTarget)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,BOOL Lockable,IDirect3DSurface8 ** ppSurface) PURE; \
STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,D3DMULTISAMPLE_TYPE MultiSample,IDirect3DSurface8 ** ppSurface) PURE; \
STDMETHOD(CreateImageSurface)(THIS_ UINT Width,UINT Height,D3DFORMAT Format,IDirect3DSurface8 ** ppSurface) PURE; \
STDMETHOD(CopyRects)(THIS_ IDirect3DSurface8 * pSourceSurface,CONST RECT * pSourceRectsArray,UINT cRects,IDirect3DSurface8 * pDestinationSurface,CONST POINT * pDestPointsArray) PURE; \
STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture8 * pSourceTexture,IDirect3DBaseTexture8 * pDestinationTexture) PURE; \
STDMETHOD(GetFrontBuffer)(THIS_ IDirect3DSurface8 * pDestSurface) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ IDirect3DSurface8 * pRenderTarget,IDirect3DSurface8 * pNewZStencil) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ IDirect3DSurface8 ** ppRenderTarget) PURE; \
STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface8 ** ppZStencilSurface) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(Clear)(THIS_ DWORD Count,CONST D3DRECT * pRects,DWORD Flags,D3DCOLOR Color,float Z,DWORD Stencil) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,CONST D3DMATRIX * pMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State,D3DMATRIX * pMatrix) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX * pMatrix) PURE; \
STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT8 * pViewport) PURE; \
STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT8 * pViewport) PURE; \
STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL8 * pMaterial) PURE; \
STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL8 *pMaterial) PURE; \
STDMETHOD(SetLight)(THIS_ DWORD Index,CONST D3DLIGHT8 * pLight) PURE; \
STDMETHOD(GetLight)(THIS_ DWORD Index,D3DLIGHT8 * pLight) PURE; \
STDMETHOD(LightEnable)(THIS_ DWORD Index,BOOL Enable) PURE; \
STDMETHOD(GetLightEnable)(THIS_ DWORD Index,BOOL * pEnable) PURE; \
STDMETHOD(SetClipPlane)(THIS_ DWORD Index,CONST float * pPlane) PURE; \
STDMETHOD(GetClipPlane)(THIS_ DWORD Index,float * pPlane) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD Value) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State,DWORD * pValue) PURE; \
STDMETHOD(BeginStateBlock)(THIS) PURE; \
STDMETHOD(EndStateBlock)(THIS_ DWORD * pToken) PURE; \
STDMETHOD(ApplyStateBlock)(THIS_ DWORD Token) PURE; \
STDMETHOD(CaptureStateBlock)(THIS_ DWORD Token) PURE; \
STDMETHOD(DeleteStateBlock)(THIS_ DWORD Token) PURE; \
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type,DWORD * pToken) PURE; \
STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS8 * pClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS8 * pClipStatus) PURE; \
STDMETHOD(GetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 ** ppTexture) PURE; \
STDMETHOD(SetTexture)(THIS_ DWORD Stage,IDirect3DBaseTexture8 * pTexture) PURE; \
STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD * pValue) PURE; \
STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage,D3DTEXTURESTAGESTATETYPE Type,DWORD Value) PURE; \
STDMETHOD(ValidateDevice)(THIS_ DWORD * pNumPasses) PURE; \
STDMETHOD(GetInfo)(THIS_ DWORD DevInfoID,void * pDevInfoStruct,DWORD DevInfoStructSize) PURE; \
STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber,CONST PALETTEENTRY * pEntries) PURE; \
STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY * pEntries) PURE; \
STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE; \
STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT * PaletteNumber) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT StartVertex,UINT PrimitiveCount) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT minIndex,UINT NumVertices,UINT startIndex,UINT primCount) PURE; \
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT PrimitiveCount,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; \
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType,UINT MinVertexIndex,UINT NumVertexIndices,UINT PrimitiveCount,CONST void * pIndexData,D3DFORMAT IndexDataFormat,CONST void * pVertexStreamZeroData,UINT VertexStreamZeroStride) PURE; \
STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex,UINT DestIndex,UINT VertexCount,IDirect3DVertexBuffer8 * pDestBuffer,DWORD Flags) PURE; \
STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD * pDeclaration,CONST DWORD * pFunction,DWORD * pHandle,DWORD Usage) PURE; \
STDMETHOD(SetVertexShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(GetVertexShader)(THIS_ DWORD * pHandle) PURE; \
STDMETHOD(DeleteVertexShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(SetVertexShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetVertexShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetVertexShaderDeclaration)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(GetVertexShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 * pStreamData,UINT Stride) PURE; \
STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber,IDirect3DVertexBuffer8 ** ppStreamData,UINT * pStride) PURE; \
STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer8 * pIndexData,UINT BaseVertexIndex) PURE; \
STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer8 ** ppIndexData,UINT * pBaseVertexIndex) PURE; \
STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD * pFunction,DWORD * pHandle) PURE; \
STDMETHOD(SetPixelShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(GetPixelShader)(THIS_ DWORD * pHandle) PURE; \
STDMETHOD(DeletePixelShader)(THIS_ DWORD Handle) PURE; \
STDMETHOD(SetPixelShaderConstant)(THIS_ DWORD Register,CONST void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetPixelShaderConstant)(THIS_ DWORD Register,void * pConstantData,DWORD ConstantCount) PURE; \
STDMETHOD(GetPixelShaderFunction)(THIS_ DWORD Handle,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(DrawRectPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DRECTPATCH_INFO * pRectPatchInfo) PURE; \
STDMETHOD(DrawTriPatch)(THIS_ UINT Handle,CONST float * pNumSegs,CONST D3DTRIPATCH_INFO * pTriPatchInfo) PURE; \
DECLARE_INTERFACE_
(
IDirect3DDevice8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DDevice8 methods ***/
STDMETHOD
(
TestCooperativeLevel
)(
THIS
)
PURE
;
STDMETHOD_
(
UINT
,
GetAvailableTextureMem
)(
THIS
)
PURE
;
STDMETHOD
(
ResourceManagerDiscardBytes
)(
THIS_
DWORD
Bytes
)
PURE
;
STDMETHOD
(
GetDirect3D
)(
THIS_
IDirect3D8
**
ppD3D8
)
PURE
;
STDMETHOD
(
GetDeviceCaps
)(
THIS_
D3DCAPS8
*
pCaps
)
PURE
;
STDMETHOD
(
GetDisplayMode
)(
THIS_
D3DDISPLAYMODE
*
pMode
)
PURE
;
STDMETHOD
(
GetCreationParameters
)(
THIS_
D3DDEVICE_CREATION_PARAMETERS
*
pParameters
)
PURE
;
STDMETHOD
(
SetCursorProperties
)(
THIS_
UINT
XHotSpot
,
UINT
YHotSpot
,
IDirect3DSurface8
*
pCursorBitmap
)
PURE
;
STDMETHOD_
(
void
,
SetCursorPosition
)(
THIS_
UINT
XScreenSpace
,
UINT
YScreenSpace
,
DWORD
Flags
)
PURE
;
STDMETHOD_
(
BOOL
,
ShowCursor
)(
THIS_
BOOL
bShow
)
PURE
;
STDMETHOD
(
CreateAdditionalSwapChain
)(
THIS_
D3DPRESENT_PARAMETERS
*
pPresentationParameters
,
IDirect3DSwapChain8
**
pSwapChain
)
PURE
;
STDMETHOD
(
Reset
)(
THIS_
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
PURE
;
STDMETHOD
(
Present
)(
THIS_
CONST
RECT
*
pSourceRect
,
CONST
RECT
*
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
PURE
;
STDMETHOD
(
GetBackBuffer
)(
THIS_
UINT
BackBuffer
,
D3DBACKBUFFER_TYPE
Type
,
IDirect3DSurface8
**
ppBackBuffer
)
PURE
;
STDMETHOD
(
GetRasterStatus
)(
THIS_
D3DRASTER_STATUS
*
pRasterStatus
)
PURE
;
STDMETHOD_
(
void
,
SetGammaRamp
)(
THIS_
DWORD
Flags
,
CONST
D3DGAMMARAMP
*
pRamp
)
PURE
;
STDMETHOD_
(
void
,
GetGammaRamp
)(
THIS_
D3DGAMMARAMP
*
pRamp
)
PURE
;
STDMETHOD
(
CreateTexture
)(
THIS_
UINT
Width
,
UINT
Height
,
UINT
Levels
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DTexture8
**
ppTexture
)
PURE
;
STDMETHOD
(
CreateVolumeTexture
)(
THIS_
UINT
Width
,
UINT
Height
,
UINT
Depth
,
UINT
Levels
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DVolumeTexture8
**
ppVolumeTexture
)
PURE
;
STDMETHOD
(
CreateCubeTexture
)(
THIS_
UINT
EdgeLength
,
UINT
Levels
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DCubeTexture8
**
ppCubeTexture
)
PURE
;
STDMETHOD
(
CreateVertexBuffer
)(
THIS_
UINT
Length
,
DWORD
Usage
,
DWORD
FVF
,
D3DPOOL
Pool
,
IDirect3DVertexBuffer8
**
ppVertexBuffer
)
PURE
;
STDMETHOD
(
CreateIndexBuffer
)(
THIS_
UINT
Length
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DIndexBuffer8
**
ppIndexBuffer
)
PURE
;
STDMETHOD
(
CreateRenderTarget
)(
THIS_
UINT
Width
,
UINT
Height
,
D3DFORMAT
Format
,
D3DMULTISAMPLE_TYPE
MultiSample
,
BOOL
Lockable
,
IDirect3DSurface8
**
ppSurface
)
PURE
;
STDMETHOD
(
CreateDepthStencilSurface
)(
THIS_
UINT
Width
,
UINT
Height
,
D3DFORMAT
Format
,
D3DMULTISAMPLE_TYPE
MultiSample
,
IDirect3DSurface8
**
ppSurface
)
PURE
;
STDMETHOD
(
CreateImageSurface
)(
THIS_
UINT
Width
,
UINT
Height
,
D3DFORMAT
Format
,
IDirect3DSurface8
**
ppSurface
)
PURE
;
STDMETHOD
(
CopyRects
)(
THIS_
IDirect3DSurface8
*
pSourceSurface
,
CONST
RECT
*
pSourceRectsArray
,
UINT
cRects
,
IDirect3DSurface8
*
pDestinationSurface
,
CONST
POINT
*
pDestPointsArray
)
PURE
;
STDMETHOD
(
UpdateTexture
)(
THIS_
IDirect3DBaseTexture8
*
pSourceTexture
,
IDirect3DBaseTexture8
*
pDestinationTexture
)
PURE
;
STDMETHOD
(
GetFrontBuffer
)(
THIS_
IDirect3DSurface8
*
pDestSurface
)
PURE
;
STDMETHOD
(
SetRenderTarget
)(
THIS_
IDirect3DSurface8
*
pRenderTarget
,
IDirect3DSurface8
*
pNewZStencil
)
PURE
;
STDMETHOD
(
GetRenderTarget
)(
THIS_
IDirect3DSurface8
**
ppRenderTarget
)
PURE
;
STDMETHOD
(
GetDepthStencilSurface
)(
THIS_
IDirect3DSurface8
**
ppZStencilSurface
)
PURE
;
STDMETHOD
(
BeginScene
)(
THIS
)
PURE
;
STDMETHOD
(
EndScene
)(
THIS
)
PURE
;
STDMETHOD
(
Clear
)(
THIS_
DWORD
Count
,
CONST
D3DRECT
*
pRects
,
DWORD
Flags
,
D3DCOLOR
Color
,
float
Z
,
DWORD
Stencil
)
PURE
;
STDMETHOD
(
SetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
State
,
CONST
D3DMATRIX
*
pMatrix
)
PURE
;
STDMETHOD
(
GetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
State
,
D3DMATRIX
*
pMatrix
)
PURE
;
STDMETHOD
(
MultiplyTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
State
,
CONST
D3DMATRIX
*
pMatrix
)
PURE
;
STDMETHOD
(
SetViewport
)(
THIS_
CONST
D3DVIEWPORT8
*
pViewport
)
PURE
;
STDMETHOD
(
GetViewport
)(
THIS_
D3DVIEWPORT8
*
pViewport
)
PURE
;
STDMETHOD
(
SetMaterial
)(
THIS_
CONST
D3DMATERIAL8
*
pMaterial
)
PURE
;
STDMETHOD
(
GetMaterial
)(
THIS_
D3DMATERIAL8
*
pMaterial
)
PURE
;
STDMETHOD
(
SetLight
)(
THIS_
DWORD
Index
,
CONST
D3DLIGHT8
*
pLight
)
PURE
;
STDMETHOD
(
GetLight
)(
THIS_
DWORD
Index
,
D3DLIGHT8
*
pLight
)
PURE
;
STDMETHOD
(
LightEnable
)(
THIS_
DWORD
Index
,
BOOL
Enable
)
PURE
;
STDMETHOD
(
GetLightEnable
)(
THIS_
DWORD
Index
,
BOOL
*
pEnable
)
PURE
;
STDMETHOD
(
SetClipPlane
)(
THIS_
DWORD
Index
,
CONST
float
*
pPlane
)
PURE
;
STDMETHOD
(
GetClipPlane
)(
THIS_
DWORD
Index
,
float
*
pPlane
)
PURE
;
STDMETHOD
(
SetRenderState
)(
THIS_
D3DRENDERSTATETYPE
State
,
DWORD
Value
)
PURE
;
STDMETHOD
(
GetRenderState
)(
THIS_
D3DRENDERSTATETYPE
State
,
DWORD
*
pValue
)
PURE
;
STDMETHOD
(
BeginStateBlock
)(
THIS
)
PURE
;
STDMETHOD
(
EndStateBlock
)(
THIS_
DWORD
*
pToken
)
PURE
;
STDMETHOD
(
ApplyStateBlock
)(
THIS_
DWORD
Token
)
PURE
;
STDMETHOD
(
CaptureStateBlock
)(
THIS_
DWORD
Token
)
PURE
;
STDMETHOD
(
DeleteStateBlock
)(
THIS_
DWORD
Token
)
PURE
;
STDMETHOD
(
CreateStateBlock
)(
THIS_
D3DSTATEBLOCKTYPE
Type
,
DWORD
*
pToken
)
PURE
;
STDMETHOD
(
SetClipStatus
)(
THIS_
CONST
D3DCLIPSTATUS8
*
pClipStatus
)
PURE
;
STDMETHOD
(
GetClipStatus
)(
THIS_
D3DCLIPSTATUS8
*
pClipStatus
)
PURE
;
STDMETHOD
(
GetTexture
)(
THIS_
DWORD
Stage
,
IDirect3DBaseTexture8
**
ppTexture
)
PURE
;
STDMETHOD
(
SetTexture
)(
THIS_
DWORD
Stage
,
IDirect3DBaseTexture8
*
pTexture
)
PURE
;
STDMETHOD
(
GetTextureStageState
)(
THIS_
DWORD
Stage
,
D3DTEXTURESTAGESTATETYPE
Type
,
DWORD
*
pValue
)
PURE
;
STDMETHOD
(
SetTextureStageState
)(
THIS_
DWORD
Stage
,
D3DTEXTURESTAGESTATETYPE
Type
,
DWORD
Value
)
PURE
;
STDMETHOD
(
ValidateDevice
)(
THIS_
DWORD
*
pNumPasses
)
PURE
;
STDMETHOD
(
GetInfo
)(
THIS_
DWORD
DevInfoID
,
void
*
pDevInfoStruct
,
DWORD
DevInfoStructSize
)
PURE
;
STDMETHOD
(
SetPaletteEntries
)(
THIS_
UINT
PaletteNumber
,
CONST
PALETTEENTRY
*
pEntries
)
PURE
;
STDMETHOD
(
GetPaletteEntries
)(
THIS_
UINT
PaletteNumber
,
PALETTEENTRY
*
pEntries
)
PURE
;
STDMETHOD
(
SetCurrentTexturePalette
)(
THIS_
UINT
PaletteNumber
)
PURE
;
STDMETHOD
(
GetCurrentTexturePalette
)(
THIS_
UINT
*
PaletteNumber
)
PURE
;
STDMETHOD
(
DrawPrimitive
)(
THIS_
D3DPRIMITIVETYPE
PrimitiveType
,
UINT
StartVertex
,
UINT
PrimitiveCount
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitive
)(
THIS_
D3DPRIMITIVETYPE
PrimitiveType
,
UINT
minIndex
,
UINT
NumVertices
,
UINT
startIndex
,
UINT
primCount
)
PURE
;
STDMETHOD
(
DrawPrimitiveUP
)(
THIS_
D3DPRIMITIVETYPE
PrimitiveType
,
UINT
PrimitiveCount
,
CONST
void
*
pVertexStreamZeroData
,
UINT
VertexStreamZeroStride
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitiveUP
)(
THIS_
D3DPRIMITIVETYPE
PrimitiveType
,
UINT
MinVertexIndex
,
UINT
NumVertexIndices
,
UINT
PrimitiveCount
,
CONST
void
*
pIndexData
,
D3DFORMAT
IndexDataFormat
,
CONST
void
*
pVertexStreamZeroData
,
UINT
VertexStreamZeroStride
)
PURE
;
STDMETHOD
(
ProcessVertices
)(
THIS_
UINT
SrcStartIndex
,
UINT
DestIndex
,
UINT
VertexCount
,
IDirect3DVertexBuffer8
*
pDestBuffer
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
CreateVertexShader
)(
THIS_
CONST
DWORD
*
pDeclaration
,
CONST
DWORD
*
pFunction
,
DWORD
*
pHandle
,
DWORD
Usage
)
PURE
;
STDMETHOD
(
SetVertexShader
)(
THIS_
DWORD
Handle
)
PURE
;
STDMETHOD
(
GetVertexShader
)(
THIS_
DWORD
*
pHandle
)
PURE
;
STDMETHOD
(
DeleteVertexShader
)(
THIS_
DWORD
Handle
)
PURE
;
STDMETHOD
(
SetVertexShaderConstant
)(
THIS_
DWORD
Register
,
CONST
void
*
pConstantData
,
DWORD
ConstantCount
)
PURE
;
STDMETHOD
(
GetVertexShaderConstant
)(
THIS_
DWORD
Register
,
void
*
pConstantData
,
DWORD
ConstantCount
)
PURE
;
STDMETHOD
(
GetVertexShaderDeclaration
)(
THIS_
DWORD
Handle
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
GetVertexShaderFunction
)(
THIS_
DWORD
Handle
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
SetStreamSource
)(
THIS_
UINT
StreamNumber
,
IDirect3DVertexBuffer8
*
pStreamData
,
UINT
Stride
)
PURE
;
STDMETHOD
(
GetStreamSource
)(
THIS_
UINT
StreamNumber
,
IDirect3DVertexBuffer8
**
ppStreamData
,
UINT
*
pStride
)
PURE
;
STDMETHOD
(
SetIndices
)(
THIS_
IDirect3DIndexBuffer8
*
pIndexData
,
UINT
BaseVertexIndex
)
PURE
;
STDMETHOD
(
GetIndices
)(
THIS_
IDirect3DIndexBuffer8
**
ppIndexData
,
UINT
*
pBaseVertexIndex
)
PURE
;
STDMETHOD
(
CreatePixelShader
)(
THIS_
CONST
DWORD
*
pFunction
,
DWORD
*
pHandle
)
PURE
;
STDMETHOD
(
SetPixelShader
)(
THIS_
DWORD
Handle
)
PURE
;
STDMETHOD
(
GetPixelShader
)(
THIS_
DWORD
*
pHandle
)
PURE
;
STDMETHOD
(
DeletePixelShader
)(
THIS_
DWORD
Handle
)
PURE
;
STDMETHOD
(
SetPixelShaderConstant
)(
THIS_
DWORD
Register
,
CONST
void
*
pConstantData
,
DWORD
ConstantCount
)
PURE
;
STDMETHOD
(
GetPixelShaderConstant
)(
THIS_
DWORD
Register
,
void
*
pConstantData
,
DWORD
ConstantCount
)
PURE
;
STDMETHOD
(
GetPixelShaderFunction
)(
THIS_
DWORD
Handle
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
DrawRectPatch
)(
THIS_
UINT
Handle
,
CONST
float
*
pNumSegs
,
CONST
D3DRECTPATCH_INFO
*
pRectPatchInfo
)
PURE
;
STDMETHOD
(
DrawTriPatch
)(
THIS_
UINT
Handle
,
CONST
float
*
pNumSegs
,
CONST
D3DTRIPATCH_INFO
*
pTriPatchInfo
)
PURE
;
STDMETHOD
(
DeletePatch
)(
THIS_
UINT
Handle
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DDevice8
,
IUnknown
)
{
IDirect3DDevice8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -484,17 +494,22 @@ DECLARE_INTERFACE_(IDirect3DDevice8,IUnknown) { IDirect3DDevice8_METHODS };
* IDirect3DVolume8 interface
*/
#define INTERFACE IDirect3DVolume8
#define IDirect3DVolume8_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData, DWORD * pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC * pDesc) PURE; \
STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox, DWORD Flags) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVolume8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DVolume8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD
(
GetContainer
)(
THIS_
REFIID
riid
,
void
**
ppContainer
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DVOLUME_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
LockBox
)(
THIS_
D3DLOCKED_BOX
*
pLockedVolume
,
CONST
D3DBOX
*
pBox
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockBox
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVolume8
,
IUnknown
)
{
IDirect3DVolume8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -531,11 +546,16 @@ DECLARE_INTERFACE_(IDirect3DVolume8,IUnknown) { IDirect3DVolume8_METHODS };
* IDirect3DSwapChain8 interface
*/
#define INTERFACE IDirect3DSwapChain8
#define IDirect3DSwapChain8_METHODS \
IUnknown_METHODS \
STDMETHOD(Present)(THIS_ CONST RECT * pSourceRect, CONST RECT * pDestRect, HWND hDestWindowOverride,CONST RGNDATA * pDirtyRegion) PURE; \
DECLARE_INTERFACE_
(
IDirect3DSwapChain8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DSwapChain8 methods ***/
STDMETHOD
(
Present
)(
THIS_
CONST
RECT
*
pSourceRect
,
CONST
RECT
*
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
PURE
;
STDMETHOD
(
GetBackBuffer
)(
THIS_
UINT
BackBuffer
,
D3DBACKBUFFER_TYPE
Type
,
IDirect3DSurface8
**
ppBackBuffer
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DSwapChain8
,
IUnknown
)
{
IDirect3DSwapChain8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -560,17 +580,22 @@ DECLARE_INTERFACE_(IDirect3DSwapChain8,IUnknown) { IDirect3DSwapChain8_METHODS }
* IDirect3DSurface8 interface
*/
#define INTERFACE IDirect3DSurface8
#define IDirect3DSurface8_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid,CONST void * pData,DWORD SizeOfData,DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid,void * pData,DWORD * pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD(GetContainer)(THIS_ REFIID riid, void ** ppContainer) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC * pDesc) PURE; \
STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT * pLockedRect, CONST RECT * pRect,DWORD Flags) PURE; \
DECLARE_INTERFACE_
(
IDirect3DSurface8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DSurface8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD
(
GetContainer
)(
THIS_
REFIID
riid
,
void
**
ppContainer
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DSURFACE_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
LockRect
)(
THIS_
D3DLOCKED_RECT
*
pLockedRect
,
CONST
RECT
*
pRect
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockRect
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DSurface8
,
IUnknown
)
{
IDirect3DSurface8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -607,17 +632,22 @@ DECLARE_INTERFACE_(IDirect3DSurface8,IUnknown) { IDirect3DSurface8_METHODS };
* IDirect3DResource8 interface
*/
#define INTERFACE IDirect3DResource8
#define IDirect3DResource8_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice8 ** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void * pData, DWORD SizeOfData, DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void * pData, DWORD * pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD_(DWORD,SetPriority)(THIS_ DWORD PriorityNew) PURE; \
STDMETHOD_(DWORD,GetPriority)(THIS) PURE; \
STDMETHOD_(void,PreLoad)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DResource8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DResource8
,
IUnknown
)
{
IDirect3DResource8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -654,12 +684,26 @@ DECLARE_INTERFACE_(IDirect3DResource8,IUnknown) { IDirect3DResource8_METHODS };
* IDirect3DVertexBuffer8 interface
*/
#define INTERFACE IDirect3DVertexBuffer8
#define IDirect3DVertexBuffer8_METHODS \
IDirect3DResource8_METHODS \
STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer8
,
IDirect3DResource8
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DVertexBuffer8 methods ***/
STDMETHOD
(
Lock
)(
THIS_
UINT
OffsetToLock
,
UINT
SizeToLock
,
BYTE
**
ppbData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DVERTEXBUFFER_DESC
*
pDesc
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer8
,
IDirect3DResource8
)
{
IDirect3DVertexBuffer8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -704,12 +748,26 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer8,IDirect3DResource8) { IDirect3DVertexB
* IDirect3DIndexBuffer8 interface
*/
#define INTERFACE IDirect3DIndexBuffer8
#define IDirect3DIndexBuffer8_METHODS \
IDirect3DResource8_METHODS \
STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, BYTE ** ppbData, DWORD Flags) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DIndexBuffer8
,
IDirect3DResource8
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DIndexBuffer8 methods ***/
STDMETHOD
(
Lock
)(
THIS_
UINT
OffsetToLock
,
UINT
SizeToLock
,
BYTE
**
ppbData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DINDEXBUFFER_DESC
*
pDesc
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DIndexBuffer8
,
IDirect3DResource8
)
{
IDirect3DIndexBuffer8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -754,12 +812,26 @@ DECLARE_INTERFACE_(IDirect3DIndexBuffer8,IDirect3DResource8) { IDirect3DIndexBuf
* IDirect3DBaseTexture8 interface
*/
#define INTERFACE IDirect3DBaseTexture8
#define IDirect3DBaseTexture8_METHODS \
IDirect3DResource8_METHODS \
STDMETHOD_(DWORD,SetLOD)(THIS_ DWORD LODNew) PURE; \
STDMETHOD_(DWORD,GetLOD)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DBaseTexture8
,
IDirect3DResource8
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture8 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DBaseTexture8
,
IDirect3DResource8
)
{
IDirect3DBaseTexture8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -804,14 +876,32 @@ DECLARE_INTERFACE_(IDirect3DBaseTexture8,IDirect3DResource8) { IDirect3DBaseText
* IDirect3DCubeTexture8 interface
*/
#define INTERFACE IDirect3DCubeTexture8
#define IDirect3DCubeTexture8_METHODS \
IDirect3DBaseTexture8_METHODS \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; \
STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,IDirect3DSurface8 ** ppCubeMapSurface) PURE; \
STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType,UINT Level) PURE; \
DECLARE_INTERFACE_
(
IDirect3DCubeTexture8
,
IDirect3DBaseTexture8
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture8 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
/*** IDirect3DCubeTexture8 methods ***/
STDMETHOD
(
GetLevelDesc
)(
THIS_
UINT
Level
,
D3DSURFACE_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
GetCubeMapSurface
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
UINT
Level
,
IDirect3DSurface8
**
ppCubeMapSurface
)
PURE
;
STDMETHOD
(
LockRect
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
UINT
Level
,
D3DLOCKED_RECT
*
pLockedRect
,
CONST
RECT
*
pRect
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockRect
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
UINT
Level
)
PURE
;
STDMETHOD
(
AddDirtyRect
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
CONST
RECT
*
pDirtyRect
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DCubeTexture8
,
IDirect3DBaseTexture8
)
{
IDirect3DCubeTexture8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -868,14 +958,32 @@ DECLARE_INTERFACE_(IDirect3DCubeTexture8,IDirect3DBaseTexture8) { IDirect3DCubeT
* IDirect3DTexture8 interface
*/
#define INTERFACE IDirect3DTexture8
#define IDirect3DTexture8_METHODS \
IDirect3DBaseTexture8_METHODS \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC * pDesc) PURE; \
STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level,IDirect3DSurface8 ** ppSurfaceLevel) PURE; \
STDMETHOD(LockRect)(THIS_ UINT Level,D3DLOCKED_RECT * pLockedRect,CONST RECT * pRect,DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE; \
DECLARE_INTERFACE_
(
IDirect3DTexture8
,
IDirect3DBaseTexture8
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture8 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
/*** IDirect3DTexture8 methods ***/
STDMETHOD
(
GetLevelDesc
)(
THIS_
UINT
Level
,
D3DSURFACE_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
GetSurfaceLevel
)(
THIS_
UINT
Level
,
IDirect3DSurface8
**
ppSurfaceLevel
)
PURE
;
STDMETHOD
(
LockRect
)(
THIS_
UINT
Level
,
D3DLOCKED_RECT
*
pLockedRect
,
CONST
RECT
*
pRect
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockRect
)(
THIS_
UINT
Level
)
PURE
;
STDMETHOD
(
AddDirtyRect
)(
THIS_
CONST
RECT
*
pDirtyRect
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DTexture8
,
IDirect3DBaseTexture8
)
{
IDirect3DTexture8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -932,14 +1040,32 @@ DECLARE_INTERFACE_(IDirect3DTexture8,IDirect3DBaseTexture8) { IDirect3DTexture8_
* IDirect3DVolumeTexture8 interface
*/
#define INTERFACE IDirect3DVolumeTexture8
#define IDirect3DVolumeTexture8_METHODS \
IDirect3DBaseTexture8_METHODS \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DVOLUME_DESC * pDesc) PURE; \
STDMETHOD(GetVolumeLevel)(THIS_ UINT Level,IDirect3DVolume8 ** ppVolumeLevel) PURE; \
STDMETHOD(LockBox)(THIS_ UINT Level,D3DLOCKED_BOX * pLockedVolume,CONST D3DBOX * pBox,DWORD Flags) PURE; \
STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVolumeTexture8
,
IDirect3DBaseTexture8
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource8 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice8
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture8 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
/*** IDirect3DVolumeTexture8 methods ***/
STDMETHOD
(
GetLevelDesc
)(
THIS_
UINT
Level
,
D3DVOLUME_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
GetVolumeLevel
)(
THIS_
UINT
Level
,
IDirect3DVolume8
**
ppVolumeLevel
)
PURE
;
STDMETHOD
(
LockBox
)(
THIS_
UINT
Level
,
D3DLOCKED_BOX
*
pLockedVolume
,
CONST
D3DBOX
*
pBox
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockBox
)(
THIS_
UINT
Level
)
PURE
;
STDMETHOD
(
AddDirtyBox
)(
THIS_
CONST
D3DBOX
*
pDirtyBox
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVolumeTexture8
,
IDirect3DBaseTexture8
)
{
IDirect3DVolumeTexture8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/d3d9.h
View file @
5d0160ea
...
...
@@ -147,23 +147,28 @@ typedef struct IDirect3DQuery9 IDirect3DQuery9, *LPDIRECT3DQUERY9
* IDirect3D9 interface
*/
#define INTERFACE IDirect3D9
#define IDirect3D9_METHODS \
IUnknown_METHODS \
STDMETHOD(RegisterSoftwareDevice)(THIS_ void* pInitializeFunction) PURE; \
STDMETHOD_(UINT, GetAdapterCount)(THIS) PURE; \
STDMETHOD(GetAdapterIdentifier)(THIS_ UINT Adapter, DWORD Flags, D3DADAPTER_IDENTIFIER9* pIdentifier) PURE; \
STDMETHOD_(UINT, GetAdapterModeCount)(THIS_ UINT Adapter, D3DFORMAT Format) PURE; \
STDMETHOD(EnumAdapterModes)(THIS_ UINT Adapter, D3DFORMAT Format, UINT Mode, D3DDISPLAYMODE* pMode) PURE; \
STDMETHOD(GetAdapterDisplayMode)(THIS_ UINT Adapter, D3DDISPLAYMODE* pMode) PURE; \
STDMETHOD(CheckDeviceType)(THIS_ UINT iAdapter, D3DDEVTYPE DevType, D3DFORMAT DisplayFormat, D3DFORMAT BackBufferFormat, BOOL bWindowed) PURE; \
STDMETHOD(CheckDeviceFormat)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, DWORD Usage, D3DRESOURCETYPE RType, D3DFORMAT CheckFormat) PURE; \
STDMETHOD(CheckDeviceMultiSampleType)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SurfaceFormat, BOOL Windowed, D3DMULTISAMPLE_TYPE MultiSampleType, DWORD* pQualityLevels) PURE; \
STDMETHOD(CheckDepthStencilMatch)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT AdapterFormat, D3DFORMAT RenderTargetFormat, D3DFORMAT DepthStencilFormat) PURE; \
STDMETHOD(CheckDeviceFormatConversion)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DFORMAT SourceFormat, D3DFORMAT TargetFormat) PURE; \
STDMETHOD(GetDeviceCaps)(THIS_ UINT Adapter, D3DDEVTYPE DeviceType, D3DCAPS9* pCaps) PURE; \
STDMETHOD_(HMONITOR, GetAdapterMonitor)(THIS_ UINT Adapter) PURE; \
DECLARE_INTERFACE_
(
IDirect3D9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3D9 methods ***/
STDMETHOD
(
RegisterSoftwareDevice
)(
THIS_
void
*
pInitializeFunction
)
PURE
;
STDMETHOD_
(
UINT
,
GetAdapterCount
)(
THIS
)
PURE
;
STDMETHOD
(
GetAdapterIdentifier
)(
THIS_
UINT
Adapter
,
DWORD
Flags
,
D3DADAPTER_IDENTIFIER9
*
pIdentifier
)
PURE
;
STDMETHOD_
(
UINT
,
GetAdapterModeCount
)(
THIS_
UINT
Adapter
,
D3DFORMAT
Format
)
PURE
;
STDMETHOD
(
EnumAdapterModes
)(
THIS_
UINT
Adapter
,
D3DFORMAT
Format
,
UINT
Mode
,
D3DDISPLAYMODE
*
pMode
)
PURE
;
STDMETHOD
(
GetAdapterDisplayMode
)(
THIS_
UINT
Adapter
,
D3DDISPLAYMODE
*
pMode
)
PURE
;
STDMETHOD
(
CheckDeviceType
)(
THIS_
UINT
iAdapter
,
D3DDEVTYPE
DevType
,
D3DFORMAT
DisplayFormat
,
D3DFORMAT
BackBufferFormat
,
BOOL
bWindowed
)
PURE
;
STDMETHOD
(
CheckDeviceFormat
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DFORMAT
AdapterFormat
,
DWORD
Usage
,
D3DRESOURCETYPE
RType
,
D3DFORMAT
CheckFormat
)
PURE
;
STDMETHOD
(
CheckDeviceMultiSampleType
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DFORMAT
SurfaceFormat
,
BOOL
Windowed
,
D3DMULTISAMPLE_TYPE
MultiSampleType
,
DWORD
*
pQualityLevels
)
PURE
;
STDMETHOD
(
CheckDepthStencilMatch
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DFORMAT
AdapterFormat
,
D3DFORMAT
RenderTargetFormat
,
D3DFORMAT
DepthStencilFormat
)
PURE
;
STDMETHOD
(
CheckDeviceFormatConversion
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DFORMAT
SourceFormat
,
D3DFORMAT
TargetFormat
)
PURE
;
STDMETHOD
(
GetDeviceCaps
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
D3DCAPS9
*
pCaps
)
PURE
;
STDMETHOD_
(
HMONITOR
,
GetAdapterMonitor
)(
THIS_
UINT
Adapter
)
PURE
;
STDMETHOD
(
CreateDevice
)(
THIS_
UINT
Adapter
,
D3DDEVTYPE
DeviceType
,
HWND
hFocusWindow
,
DWORD
BehaviorFlags
,
D3DPRESENT_PARAMETERS
*
pPresentationParameters
,
IDirect3DDevice9
**
ppReturnedDeviceInterface
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3D9
,
IUnknown
)
{
IDirect3D9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -212,125 +217,130 @@ DECLARE_INTERFACE_(IDirect3D9,IUnknown) { IDirect3D9_METHODS };
* IDirect3DDevice9 interface
*/
#define INTERFACE IDirect3DDevice9
#define IDirect3DDevice9_METHODS \
IUnknown_METHODS \
STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
STDMETHOD_(UINT, GetAvailableTextureMem)(THIS) PURE; \
STDMETHOD(EvictManagedResources)(THIS) PURE; \
STDMETHOD(GetDirect3D)(THIS_ IDirect3D9** ppD3D9) PURE; \
STDMETHOD(GetDeviceCaps)(THIS_ D3DCAPS9* pCaps) PURE; \
STDMETHOD(GetDisplayMode)(THIS_ UINT iSwapChain, D3DDISPLAYMODE* pMode) PURE; \
STDMETHOD(GetCreationParameters)(THIS_ D3DDEVICE_CREATION_PARAMETERS *pParameters) PURE; \
STDMETHOD(SetCursorProperties)(THIS_ UINT XHotSpot, UINT YHotSpot, IDirect3DSurface9* pCursorBitmap) PURE; \
STDMETHOD_(void, SetCursorPosition)(THIS_ int X,int Y, DWORD Flags) PURE; \
STDMETHOD_(BOOL, ShowCursor)(THIS_ BOOL bShow) PURE; \
STDMETHOD(CreateAdditionalSwapChain)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters, IDirect3DSwapChain9** pSwapChain) PURE; \
STDMETHOD(GetSwapChain)(THIS_ UINT iSwapChain, IDirect3DSwapChain9** pSwapChain) PURE; \
STDMETHOD_(UINT, GetNumberOfSwapChains)(THIS) PURE; \
STDMETHOD(Reset)(THIS_ D3DPRESENT_PARAMETERS* pPresentationParameters) PURE; \
STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion) PURE; \
STDMETHOD(GetBackBuffer)(THIS_ UINT iSwapChain, UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE; \
STDMETHOD(GetRasterStatus)(THIS_ UINT iSwapChain, D3DRASTER_STATUS* pRasterStatus) PURE; \
STDMETHOD(SetDialogBoxMode)(THIS_ BOOL bEnableDialogs) PURE; \
STDMETHOD_(void, SetGammaRamp)(THIS_ UINT iSwapChain, DWORD Flags, CONST D3DGAMMARAMP* pRamp) PURE; \
STDMETHOD_(void, GetGammaRamp)(THIS_ UINT iSwapChain, D3DGAMMARAMP* pRamp) PURE; \
STDMETHOD(CreateTexture)(THIS_ UINT Width, UINT Height, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DTexture9** ppTexture, HANDLE* pSharedHandle) PURE; \
STDMETHOD(CreateVolumeTexture)(THIS_ UINT Width, UINT Height, UINT Depth, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DVolumeTexture9** ppVolumeTexture, HANDLE* pSharedHandle) PURE; \
STDMETHOD(CreateCubeTexture)(THIS_ UINT EdgeLength, UINT Levels, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DCubeTexture9** ppCubeTexture, HANDLE* pSharedHandle) PURE; \
STDMETHOD(CreateVertexBuffer)(THIS_ UINT Length, DWORD Usage, DWORD FVF, D3DPOOL Pool, IDirect3DVertexBuffer9** ppVertexBuffer, HANDLE* pSharedHandle) PURE; \
STDMETHOD(CreateIndexBuffer)(THIS_ UINT Length, DWORD Usage, D3DFORMAT Format, D3DPOOL Pool, IDirect3DIndexBuffer9** ppIndexBuffer, HANDLE* pSharedHandle) PURE; \
STDMETHOD(CreateRenderTarget)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Lockable, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE; \
STDMETHOD(CreateDepthStencilSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DMULTISAMPLE_TYPE MultiSample, DWORD MultisampleQuality, BOOL Discard, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE; \
STDMETHOD(UpdateSurface)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestinationSurface, CONST POINT* pDestPoint) PURE; \
STDMETHOD(UpdateTexture)(THIS_ IDirect3DBaseTexture9* pSourceTexture, IDirect3DBaseTexture9* pDestinationTexture) PURE; \
STDMETHOD(GetRenderTargetData)(THIS_ IDirect3DSurface9* pRenderTarget, IDirect3DSurface9* pDestSurface) PURE; \
STDMETHOD(GetFrontBufferData)(THIS_ UINT iSwapChain, IDirect3DSurface9* pDestSurface) PURE; \
STDMETHOD(StretchRect)(THIS_ IDirect3DSurface9* pSourceSurface, CONST RECT* pSourceRect, IDirect3DSurface9* pDestSurface, CONST RECT* pDestRect, D3DTEXTUREFILTERTYPE Filter) PURE; \
STDMETHOD(ColorFill)(THIS_ IDirect3DSurface9* pSurface, CONST RECT* pRect, D3DCOLOR color) PURE; \
STDMETHOD(CreateOffscreenPlainSurface)(THIS_ UINT Width, UINT Height, D3DFORMAT Format, D3DPOOL Pool, IDirect3DSurface9** ppSurface, HANDLE* pSharedHandle) PURE; \
STDMETHOD(SetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9* pRenderTarget) PURE; \
STDMETHOD(GetRenderTarget)(THIS_ DWORD RenderTargetIndex, IDirect3DSurface9** ppRenderTarget) PURE; \
STDMETHOD(SetDepthStencilSurface)(THIS_ IDirect3DSurface9* pNewZStencil) PURE; \
STDMETHOD(GetDepthStencilSurface)(THIS_ IDirect3DSurface9** ppZStencilSurface) PURE; \
STDMETHOD(BeginScene)(THIS) PURE; \
STDMETHOD(EndScene)(THIS) PURE; \
STDMETHOD(Clear)(THIS_ DWORD Count, CONST D3DRECT* pRects, DWORD Flags, D3DCOLOR Color, float Z, DWORD Stencil) PURE; \
STDMETHOD(SetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, CONST D3DMATRIX* pMatrix) PURE; \
STDMETHOD(GetTransform)(THIS_ D3DTRANSFORMSTATETYPE State, D3DMATRIX* pMatrix) PURE; \
STDMETHOD(MultiplyTransform)(THIS_ D3DTRANSFORMSTATETYPE, CONST D3DMATRIX*) PURE; \
STDMETHOD(SetViewport)(THIS_ CONST D3DVIEWPORT9* pViewport) PURE; \
STDMETHOD(GetViewport)(THIS_ D3DVIEWPORT9* pViewport) PURE; \
STDMETHOD(SetMaterial)(THIS_ CONST D3DMATERIAL9* pMaterial) PURE; \
STDMETHOD(GetMaterial)(THIS_ D3DMATERIAL9* pMaterial) PURE; \
STDMETHOD(SetLight)(THIS_ DWORD Index, CONST D3DLIGHT9*) PURE; \
STDMETHOD(GetLight)(THIS_ DWORD Index, D3DLIGHT9*) PURE; \
STDMETHOD(LightEnable)(THIS_ DWORD Index, BOOL Enable) PURE; \
STDMETHOD(GetLightEnable)(THIS_ DWORD Index, BOOL* pEnable) PURE; \
STDMETHOD(SetClipPlane)(THIS_ DWORD Index, CONST float* pPlane) PURE; \
STDMETHOD(GetClipPlane)(THIS_ DWORD Index, float* pPlane) PURE; \
STDMETHOD(SetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD Value) PURE; \
STDMETHOD(GetRenderState)(THIS_ D3DRENDERSTATETYPE State, DWORD* pValue) PURE; \
STDMETHOD(CreateStateBlock)(THIS_ D3DSTATEBLOCKTYPE Type, IDirect3DStateBlock9** ppSB) PURE; \
STDMETHOD(BeginStateBlock)(THIS) PURE; \
STDMETHOD(EndStateBlock)(THIS_ IDirect3DStateBlock9** ppSB) PURE; \
STDMETHOD(SetClipStatus)(THIS_ CONST D3DCLIPSTATUS9* pClipStatus) PURE; \
STDMETHOD(GetClipStatus)(THIS_ D3DCLIPSTATUS9* pClipStatus) PURE; \
STDMETHOD(GetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9** ppTexture) PURE; \
STDMETHOD(SetTexture)(THIS_ DWORD Stage, IDirect3DBaseTexture9* pTexture) PURE; \
STDMETHOD(GetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD* pValue) PURE; \
STDMETHOD(SetTextureStageState)(THIS_ DWORD Stage, D3DTEXTURESTAGESTATETYPE Type, DWORD Value) PURE; \
STDMETHOD(GetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD* pValue) PURE; \
STDMETHOD(SetSamplerState)(THIS_ DWORD Sampler, D3DSAMPLERSTATETYPE Type, DWORD Value) PURE; \
STDMETHOD(ValidateDevice)(THIS_ DWORD* pNumPasses) PURE; \
STDMETHOD(SetPaletteEntries)(THIS_ UINT PaletteNumber, CONST PALETTEENTRY* pEntries) PURE; \
STDMETHOD(GetPaletteEntries)(THIS_ UINT PaletteNumber,PALETTEENTRY* pEntries) PURE; \
STDMETHOD(SetCurrentTexturePalette)(THIS_ UINT PaletteNumber) PURE; \
STDMETHOD(GetCurrentTexturePalette)(THIS_ UINT *PaletteNumber) PURE; \
STDMETHOD(SetScissorRect)(THIS_ CONST RECT* pRect) PURE; \
STDMETHOD(GetScissorRect)(THIS_ RECT* pRect) PURE; \
STDMETHOD(SetSoftwareVertexProcessing)(THIS_ BOOL bSoftware) PURE; \
STDMETHOD_(BOOL, GetSoftwareVertexProcessing)(THIS) PURE; \
STDMETHOD(SetNPatchMode)(THIS_ float nSegments) PURE; \
STDMETHOD_(float, GetNPatchMode)(THIS) PURE; \
STDMETHOD(DrawPrimitive)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT StartVertex, UINT PrimitiveCount) PURE; \
STDMETHOD(DrawIndexedPrimitive)(THIS_ D3DPRIMITIVETYPE, INT BaseVertexIndex, UINT MinVertexIndex, UINT NumVertices, UINT startIndex, UINT primCount) PURE; \
STDMETHOD(DrawPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT PrimitiveCount, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE; \
STDMETHOD(DrawIndexedPrimitiveUP)(THIS_ D3DPRIMITIVETYPE PrimitiveType, UINT MinVertexIndex, UINT NumVertices, UINT PrimitiveCount, CONST void* pIndexData, D3DFORMAT IndexDataFormat, CONST void* pVertexStreamZeroData, UINT VertexStreamZeroStride) PURE; \
STDMETHOD(ProcessVertices)(THIS_ UINT SrcStartIndex, UINT DestIndex, UINT VertexCount, IDirect3DVertexBuffer9* pDestBuffer, IDirect3DVertexDeclaration9* pVertexDecl, DWORD Flags) PURE; \
STDMETHOD(CreateVertexDeclaration)(THIS_ CONST D3DVERTEXELEMENT9* pVertexElements, IDirect3DVertexDeclaration9** ppDecl) PURE; \
STDMETHOD(SetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9* pDecl) PURE; \
STDMETHOD(GetVertexDeclaration)(THIS_ IDirect3DVertexDeclaration9** ppDecl) PURE; \
STDMETHOD(SetFVF)(THIS_ DWORD FVF) PURE; \
STDMETHOD(GetFVF)(THIS_ DWORD* pFVF) PURE; \
STDMETHOD(CreateVertexShader)(THIS_ CONST DWORD* pFunction, IDirect3DVertexShader9** ppShader) PURE; \
STDMETHOD(SetVertexShader)(THIS_ IDirect3DVertexShader9* pShader) PURE; \
STDMETHOD(GetVertexShader)(THIS_ IDirect3DVertexShader9** ppShader) PURE; \
STDMETHOD(SetVertexShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE; \
STDMETHOD(GetVertexShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE; \
STDMETHOD(SetVertexShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE; \
STDMETHOD(GetVertexShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE; \
STDMETHOD(SetVertexShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE; \
STDMETHOD(GetVertexShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE; \
STDMETHOD(SetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9* pStreamData, UINT OffsetInBytes, UINT Stride) PURE; \
STDMETHOD(GetStreamSource)(THIS_ UINT StreamNumber, IDirect3DVertexBuffer9** ppStreamData, UINT* OffsetInBytes, UINT* pStride) PURE; \
STDMETHOD(SetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT Divider) PURE; \
STDMETHOD(GetStreamSourceFreq)(THIS_ UINT StreamNumber, UINT* Divider) PURE; \
STDMETHOD(SetIndices)(THIS_ IDirect3DIndexBuffer9* pIndexData) PURE; \
STDMETHOD(GetIndices)(THIS_ IDirect3DIndexBuffer9** ppIndexData) PURE; \
STDMETHOD(CreatePixelShader)(THIS_ CONST DWORD* pFunction, IDirect3DPixelShader9** ppShader) PURE; \
STDMETHOD(SetPixelShader)(THIS_ IDirect3DPixelShader9* pShader) PURE; \
STDMETHOD(GetPixelShader)(THIS_ IDirect3DPixelShader9** ppShader) PURE; \
STDMETHOD(SetPixelShaderConstantF)(THIS_ UINT StartRegister, CONST float* pConstantData, UINT Vector4fCount) PURE; \
STDMETHOD(GetPixelShaderConstantF)(THIS_ UINT StartRegister, float* pConstantData, UINT Vector4fCount) PURE; \
STDMETHOD(SetPixelShaderConstantI)(THIS_ UINT StartRegister, CONST int* pConstantData, UINT Vector4iCount) PURE; \
STDMETHOD(GetPixelShaderConstantI)(THIS_ UINT StartRegister, int* pConstantData, UINT Vector4iCount) PURE; \
STDMETHOD(SetPixelShaderConstantB)(THIS_ UINT StartRegister, CONST BOOL* pConstantData, UINT BoolCount) PURE; \
STDMETHOD(GetPixelShaderConstantB)(THIS_ UINT StartRegister, BOOL* pConstantData, UINT BoolCount) PURE; \
STDMETHOD(DrawRectPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DRECTPATCH_INFO* pRectPatchInfo) PURE; \
STDMETHOD(DrawTriPatch)(THIS_ UINT Handle, CONST float* pNumSegs, CONST D3DTRIPATCH_INFO* pTriPatchInfo) PURE; \
STDMETHOD(DeletePatch)(THIS_ UINT Handle) PURE; \
DECLARE_INTERFACE_
(
IDirect3DDevice9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DDevice9 methods ***/
STDMETHOD
(
TestCooperativeLevel
)(
THIS
)
PURE
;
STDMETHOD_
(
UINT
,
GetAvailableTextureMem
)(
THIS
)
PURE
;
STDMETHOD
(
EvictManagedResources
)(
THIS
)
PURE
;
STDMETHOD
(
GetDirect3D
)(
THIS_
IDirect3D9
**
ppD3D9
)
PURE
;
STDMETHOD
(
GetDeviceCaps
)(
THIS_
D3DCAPS9
*
pCaps
)
PURE
;
STDMETHOD
(
GetDisplayMode
)(
THIS_
UINT
iSwapChain
,
D3DDISPLAYMODE
*
pMode
)
PURE
;
STDMETHOD
(
GetCreationParameters
)(
THIS_
D3DDEVICE_CREATION_PARAMETERS
*
pParameters
)
PURE
;
STDMETHOD
(
SetCursorProperties
)(
THIS_
UINT
XHotSpot
,
UINT
YHotSpot
,
IDirect3DSurface9
*
pCursorBitmap
)
PURE
;
STDMETHOD_
(
void
,
SetCursorPosition
)(
THIS_
int
X
,
int
Y
,
DWORD
Flags
)
PURE
;
STDMETHOD_
(
BOOL
,
ShowCursor
)(
THIS_
BOOL
bShow
)
PURE
;
STDMETHOD
(
CreateAdditionalSwapChain
)(
THIS_
D3DPRESENT_PARAMETERS
*
pPresentationParameters
,
IDirect3DSwapChain9
**
pSwapChain
)
PURE
;
STDMETHOD
(
GetSwapChain
)(
THIS_
UINT
iSwapChain
,
IDirect3DSwapChain9
**
pSwapChain
)
PURE
;
STDMETHOD_
(
UINT
,
GetNumberOfSwapChains
)(
THIS
)
PURE
;
STDMETHOD
(
Reset
)(
THIS_
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
PURE
;
STDMETHOD
(
Present
)(
THIS_
CONST
RECT
*
pSourceRect
,
CONST
RECT
*
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
)
PURE
;
STDMETHOD
(
GetBackBuffer
)(
THIS_
UINT
iSwapChain
,
UINT
iBackBuffer
,
D3DBACKBUFFER_TYPE
Type
,
IDirect3DSurface9
**
ppBackBuffer
)
PURE
;
STDMETHOD
(
GetRasterStatus
)(
THIS_
UINT
iSwapChain
,
D3DRASTER_STATUS
*
pRasterStatus
)
PURE
;
STDMETHOD
(
SetDialogBoxMode
)(
THIS_
BOOL
bEnableDialogs
)
PURE
;
STDMETHOD_
(
void
,
SetGammaRamp
)(
THIS_
UINT
iSwapChain
,
DWORD
Flags
,
CONST
D3DGAMMARAMP
*
pRamp
)
PURE
;
STDMETHOD_
(
void
,
GetGammaRamp
)(
THIS_
UINT
iSwapChain
,
D3DGAMMARAMP
*
pRamp
)
PURE
;
STDMETHOD
(
CreateTexture
)(
THIS_
UINT
Width
,
UINT
Height
,
UINT
Levels
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DTexture9
**
ppTexture
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
CreateVolumeTexture
)(
THIS_
UINT
Width
,
UINT
Height
,
UINT
Depth
,
UINT
Levels
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DVolumeTexture9
**
ppVolumeTexture
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
CreateCubeTexture
)(
THIS_
UINT
EdgeLength
,
UINT
Levels
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DCubeTexture9
**
ppCubeTexture
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
CreateVertexBuffer
)(
THIS_
UINT
Length
,
DWORD
Usage
,
DWORD
FVF
,
D3DPOOL
Pool
,
IDirect3DVertexBuffer9
**
ppVertexBuffer
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
CreateIndexBuffer
)(
THIS_
UINT
Length
,
DWORD
Usage
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DIndexBuffer9
**
ppIndexBuffer
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
CreateRenderTarget
)(
THIS_
UINT
Width
,
UINT
Height
,
D3DFORMAT
Format
,
D3DMULTISAMPLE_TYPE
MultiSample
,
DWORD
MultisampleQuality
,
BOOL
Lockable
,
IDirect3DSurface9
**
ppSurface
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
CreateDepthStencilSurface
)(
THIS_
UINT
Width
,
UINT
Height
,
D3DFORMAT
Format
,
D3DMULTISAMPLE_TYPE
MultiSample
,
DWORD
MultisampleQuality
,
BOOL
Discard
,
IDirect3DSurface9
**
ppSurface
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
UpdateSurface
)(
THIS_
IDirect3DSurface9
*
pSourceSurface
,
CONST
RECT
*
pSourceRect
,
IDirect3DSurface9
*
pDestinationSurface
,
CONST
POINT
*
pDestPoint
)
PURE
;
STDMETHOD
(
UpdateTexture
)(
THIS_
IDirect3DBaseTexture9
*
pSourceTexture
,
IDirect3DBaseTexture9
*
pDestinationTexture
)
PURE
;
STDMETHOD
(
GetRenderTargetData
)(
THIS_
IDirect3DSurface9
*
pRenderTarget
,
IDirect3DSurface9
*
pDestSurface
)
PURE
;
STDMETHOD
(
GetFrontBufferData
)(
THIS_
UINT
iSwapChain
,
IDirect3DSurface9
*
pDestSurface
)
PURE
;
STDMETHOD
(
StretchRect
)(
THIS_
IDirect3DSurface9
*
pSourceSurface
,
CONST
RECT
*
pSourceRect
,
IDirect3DSurface9
*
pDestSurface
,
CONST
RECT
*
pDestRect
,
D3DTEXTUREFILTERTYPE
Filter
)
PURE
;
STDMETHOD
(
ColorFill
)(
THIS_
IDirect3DSurface9
*
pSurface
,
CONST
RECT
*
pRect
,
D3DCOLOR
color
)
PURE
;
STDMETHOD
(
CreateOffscreenPlainSurface
)(
THIS_
UINT
Width
,
UINT
Height
,
D3DFORMAT
Format
,
D3DPOOL
Pool
,
IDirect3DSurface9
**
ppSurface
,
HANDLE
*
pSharedHandle
)
PURE
;
STDMETHOD
(
SetRenderTarget
)(
THIS_
DWORD
RenderTargetIndex
,
IDirect3DSurface9
*
pRenderTarget
)
PURE
;
STDMETHOD
(
GetRenderTarget
)(
THIS_
DWORD
RenderTargetIndex
,
IDirect3DSurface9
**
ppRenderTarget
)
PURE
;
STDMETHOD
(
SetDepthStencilSurface
)(
THIS_
IDirect3DSurface9
*
pNewZStencil
)
PURE
;
STDMETHOD
(
GetDepthStencilSurface
)(
THIS_
IDirect3DSurface9
**
ppZStencilSurface
)
PURE
;
STDMETHOD
(
BeginScene
)(
THIS
)
PURE
;
STDMETHOD
(
EndScene
)(
THIS
)
PURE
;
STDMETHOD
(
Clear
)(
THIS_
DWORD
Count
,
CONST
D3DRECT
*
pRects
,
DWORD
Flags
,
D3DCOLOR
Color
,
float
Z
,
DWORD
Stencil
)
PURE
;
STDMETHOD
(
SetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
State
,
CONST
D3DMATRIX
*
pMatrix
)
PURE
;
STDMETHOD
(
GetTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
State
,
D3DMATRIX
*
pMatrix
)
PURE
;
STDMETHOD
(
MultiplyTransform
)(
THIS_
D3DTRANSFORMSTATETYPE
,
CONST
D3DMATRIX
*
)
PURE
;
STDMETHOD
(
SetViewport
)(
THIS_
CONST
D3DVIEWPORT9
*
pViewport
)
PURE
;
STDMETHOD
(
GetViewport
)(
THIS_
D3DVIEWPORT9
*
pViewport
)
PURE
;
STDMETHOD
(
SetMaterial
)(
THIS_
CONST
D3DMATERIAL9
*
pMaterial
)
PURE
;
STDMETHOD
(
GetMaterial
)(
THIS_
D3DMATERIAL9
*
pMaterial
)
PURE
;
STDMETHOD
(
SetLight
)(
THIS_
DWORD
Index
,
CONST
D3DLIGHT9
*
)
PURE
;
STDMETHOD
(
GetLight
)(
THIS_
DWORD
Index
,
D3DLIGHT9
*
)
PURE
;
STDMETHOD
(
LightEnable
)(
THIS_
DWORD
Index
,
BOOL
Enable
)
PURE
;
STDMETHOD
(
GetLightEnable
)(
THIS_
DWORD
Index
,
BOOL
*
pEnable
)
PURE
;
STDMETHOD
(
SetClipPlane
)(
THIS_
DWORD
Index
,
CONST
float
*
pPlane
)
PURE
;
STDMETHOD
(
GetClipPlane
)(
THIS_
DWORD
Index
,
float
*
pPlane
)
PURE
;
STDMETHOD
(
SetRenderState
)(
THIS_
D3DRENDERSTATETYPE
State
,
DWORD
Value
)
PURE
;
STDMETHOD
(
GetRenderState
)(
THIS_
D3DRENDERSTATETYPE
State
,
DWORD
*
pValue
)
PURE
;
STDMETHOD
(
CreateStateBlock
)(
THIS_
D3DSTATEBLOCKTYPE
Type
,
IDirect3DStateBlock9
**
ppSB
)
PURE
;
STDMETHOD
(
BeginStateBlock
)(
THIS
)
PURE
;
STDMETHOD
(
EndStateBlock
)(
THIS_
IDirect3DStateBlock9
**
ppSB
)
PURE
;
STDMETHOD
(
SetClipStatus
)(
THIS_
CONST
D3DCLIPSTATUS9
*
pClipStatus
)
PURE
;
STDMETHOD
(
GetClipStatus
)(
THIS_
D3DCLIPSTATUS9
*
pClipStatus
)
PURE
;
STDMETHOD
(
GetTexture
)(
THIS_
DWORD
Stage
,
IDirect3DBaseTexture9
**
ppTexture
)
PURE
;
STDMETHOD
(
SetTexture
)(
THIS_
DWORD
Stage
,
IDirect3DBaseTexture9
*
pTexture
)
PURE
;
STDMETHOD
(
GetTextureStageState
)(
THIS_
DWORD
Stage
,
D3DTEXTURESTAGESTATETYPE
Type
,
DWORD
*
pValue
)
PURE
;
STDMETHOD
(
SetTextureStageState
)(
THIS_
DWORD
Stage
,
D3DTEXTURESTAGESTATETYPE
Type
,
DWORD
Value
)
PURE
;
STDMETHOD
(
GetSamplerState
)(
THIS_
DWORD
Sampler
,
D3DSAMPLERSTATETYPE
Type
,
DWORD
*
pValue
)
PURE
;
STDMETHOD
(
SetSamplerState
)(
THIS_
DWORD
Sampler
,
D3DSAMPLERSTATETYPE
Type
,
DWORD
Value
)
PURE
;
STDMETHOD
(
ValidateDevice
)(
THIS_
DWORD
*
pNumPasses
)
PURE
;
STDMETHOD
(
SetPaletteEntries
)(
THIS_
UINT
PaletteNumber
,
CONST
PALETTEENTRY
*
pEntries
)
PURE
;
STDMETHOD
(
GetPaletteEntries
)(
THIS_
UINT
PaletteNumber
,
PALETTEENTRY
*
pEntries
)
PURE
;
STDMETHOD
(
SetCurrentTexturePalette
)(
THIS_
UINT
PaletteNumber
)
PURE
;
STDMETHOD
(
GetCurrentTexturePalette
)(
THIS_
UINT
*
PaletteNumber
)
PURE
;
STDMETHOD
(
SetScissorRect
)(
THIS_
CONST
RECT
*
pRect
)
PURE
;
STDMETHOD
(
GetScissorRect
)(
THIS_
RECT
*
pRect
)
PURE
;
STDMETHOD
(
SetSoftwareVertexProcessing
)(
THIS_
BOOL
bSoftware
)
PURE
;
STDMETHOD_
(
BOOL
,
GetSoftwareVertexProcessing
)(
THIS
)
PURE
;
STDMETHOD
(
SetNPatchMode
)(
THIS_
float
nSegments
)
PURE
;
STDMETHOD_
(
float
,
GetNPatchMode
)(
THIS
)
PURE
;
STDMETHOD
(
DrawPrimitive
)(
THIS_
D3DPRIMITIVETYPE
PrimitiveType
,
UINT
StartVertex
,
UINT
PrimitiveCount
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitive
)(
THIS_
D3DPRIMITIVETYPE
,
INT
BaseVertexIndex
,
UINT
MinVertexIndex
,
UINT
NumVertices
,
UINT
startIndex
,
UINT
primCount
)
PURE
;
STDMETHOD
(
DrawPrimitiveUP
)(
THIS_
D3DPRIMITIVETYPE
PrimitiveType
,
UINT
PrimitiveCount
,
CONST
void
*
pVertexStreamZeroData
,
UINT
VertexStreamZeroStride
)
PURE
;
STDMETHOD
(
DrawIndexedPrimitiveUP
)(
THIS_
D3DPRIMITIVETYPE
PrimitiveType
,
UINT
MinVertexIndex
,
UINT
NumVertices
,
UINT
PrimitiveCount
,
CONST
void
*
pIndexData
,
D3DFORMAT
IndexDataFormat
,
CONST
void
*
pVertexStreamZeroData
,
UINT
VertexStreamZeroStride
)
PURE
;
STDMETHOD
(
ProcessVertices
)(
THIS_
UINT
SrcStartIndex
,
UINT
DestIndex
,
UINT
VertexCount
,
IDirect3DVertexBuffer9
*
pDestBuffer
,
IDirect3DVertexDeclaration9
*
pVertexDecl
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
CreateVertexDeclaration
)(
THIS_
CONST
D3DVERTEXELEMENT9
*
pVertexElements
,
IDirect3DVertexDeclaration9
**
ppDecl
)
PURE
;
STDMETHOD
(
SetVertexDeclaration
)(
THIS_
IDirect3DVertexDeclaration9
*
pDecl
)
PURE
;
STDMETHOD
(
GetVertexDeclaration
)(
THIS_
IDirect3DVertexDeclaration9
**
ppDecl
)
PURE
;
STDMETHOD
(
SetFVF
)(
THIS_
DWORD
FVF
)
PURE
;
STDMETHOD
(
GetFVF
)(
THIS_
DWORD
*
pFVF
)
PURE
;
STDMETHOD
(
CreateVertexShader
)(
THIS_
CONST
DWORD
*
pFunction
,
IDirect3DVertexShader9
**
ppShader
)
PURE
;
STDMETHOD
(
SetVertexShader
)(
THIS_
IDirect3DVertexShader9
*
pShader
)
PURE
;
STDMETHOD
(
GetVertexShader
)(
THIS_
IDirect3DVertexShader9
**
ppShader
)
PURE
;
STDMETHOD
(
SetVertexShaderConstantF
)(
THIS_
UINT
StartRegister
,
CONST
float
*
pConstantData
,
UINT
Vector4fCount
)
PURE
;
STDMETHOD
(
GetVertexShaderConstantF
)(
THIS_
UINT
StartRegister
,
float
*
pConstantData
,
UINT
Vector4fCount
)
PURE
;
STDMETHOD
(
SetVertexShaderConstantI
)(
THIS_
UINT
StartRegister
,
CONST
int
*
pConstantData
,
UINT
Vector4iCount
)
PURE
;
STDMETHOD
(
GetVertexShaderConstantI
)(
THIS_
UINT
StartRegister
,
int
*
pConstantData
,
UINT
Vector4iCount
)
PURE
;
STDMETHOD
(
SetVertexShaderConstantB
)(
THIS_
UINT
StartRegister
,
CONST
BOOL
*
pConstantData
,
UINT
BoolCount
)
PURE
;
STDMETHOD
(
GetVertexShaderConstantB
)(
THIS_
UINT
StartRegister
,
BOOL
*
pConstantData
,
UINT
BoolCount
)
PURE
;
STDMETHOD
(
SetStreamSource
)(
THIS_
UINT
StreamNumber
,
IDirect3DVertexBuffer9
*
pStreamData
,
UINT
OffsetInBytes
,
UINT
Stride
)
PURE
;
STDMETHOD
(
GetStreamSource
)(
THIS_
UINT
StreamNumber
,
IDirect3DVertexBuffer9
**
ppStreamData
,
UINT
*
OffsetInBytes
,
UINT
*
pStride
)
PURE
;
STDMETHOD
(
SetStreamSourceFreq
)(
THIS_
UINT
StreamNumber
,
UINT
Divider
)
PURE
;
STDMETHOD
(
GetStreamSourceFreq
)(
THIS_
UINT
StreamNumber
,
UINT
*
Divider
)
PURE
;
STDMETHOD
(
SetIndices
)(
THIS_
IDirect3DIndexBuffer9
*
pIndexData
)
PURE
;
STDMETHOD
(
GetIndices
)(
THIS_
IDirect3DIndexBuffer9
**
ppIndexData
)
PURE
;
STDMETHOD
(
CreatePixelShader
)(
THIS_
CONST
DWORD
*
pFunction
,
IDirect3DPixelShader9
**
ppShader
)
PURE
;
STDMETHOD
(
SetPixelShader
)(
THIS_
IDirect3DPixelShader9
*
pShader
)
PURE
;
STDMETHOD
(
GetPixelShader
)(
THIS_
IDirect3DPixelShader9
**
ppShader
)
PURE
;
STDMETHOD
(
SetPixelShaderConstantF
)(
THIS_
UINT
StartRegister
,
CONST
float
*
pConstantData
,
UINT
Vector4fCount
)
PURE
;
STDMETHOD
(
GetPixelShaderConstantF
)(
THIS_
UINT
StartRegister
,
float
*
pConstantData
,
UINT
Vector4fCount
)
PURE
;
STDMETHOD
(
SetPixelShaderConstantI
)(
THIS_
UINT
StartRegister
,
CONST
int
*
pConstantData
,
UINT
Vector4iCount
)
PURE
;
STDMETHOD
(
GetPixelShaderConstantI
)(
THIS_
UINT
StartRegister
,
int
*
pConstantData
,
UINT
Vector4iCount
)
PURE
;
STDMETHOD
(
SetPixelShaderConstantB
)(
THIS_
UINT
StartRegister
,
CONST
BOOL
*
pConstantData
,
UINT
BoolCount
)
PURE
;
STDMETHOD
(
GetPixelShaderConstantB
)(
THIS_
UINT
StartRegister
,
BOOL
*
pConstantData
,
UINT
BoolCount
)
PURE
;
STDMETHOD
(
DrawRectPatch
)(
THIS_
UINT
Handle
,
CONST
float
*
pNumSegs
,
CONST
D3DRECTPATCH_INFO
*
pRectPatchInfo
)
PURE
;
STDMETHOD
(
DrawTriPatch
)(
THIS_
UINT
Handle
,
CONST
float
*
pNumSegs
,
CONST
D3DTRIPATCH_INFO
*
pTriPatchInfo
)
PURE
;
STDMETHOD
(
DeletePatch
)(
THIS_
UINT
Handle
)
PURE
;
STDMETHOD
(
CreateQuery
)(
THIS_
D3DQUERYTYPE
Type
,
IDirect3DQuery9
**
ppQuery
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DDevice9
,
IUnknown
)
{
IDirect3DDevice9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -583,17 +593,22 @@ DECLARE_INTERFACE_(IDirect3DDevice9, IUnknown) { IDirect3DDevice9_METHODS };
* IDirect3DVolume9 interface
*/
#define INTERFACE IDirect3DVolume9
#define IDirect3DVolume9_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DVOLUME_DESC* pDesc) PURE; \
STDMETHOD(LockBox)(THIS_ D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVolume9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DVolume9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD
(
GetContainer
)(
THIS_
REFIID
riid
,
void
**
ppContainer
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DVOLUME_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
LockBox
)(
THIS_
D3DLOCKED_BOX
*
pLockedVolume
,
CONST
D3DBOX
*
pBox
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockBox
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVolume9
,
IUnknown
)
{
IDirect3DVolume9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -630,16 +645,21 @@ DECLARE_INTERFACE_(IDirect3DVolume9,IUnknown) { IDirect3DVolume9_METHODS };
* IDirect3DSwapChain9 interface
*/
#define INTERFACE IDirect3DSwapChain9
#define IDirect3DSwapChain9_METHODS \
IUnknown_METHODS \
STDMETHOD(Present)(THIS_ CONST RECT* pSourceRect, CONST RECT* pDestRect, HWND hDestWindowOverride, CONST RGNDATA* pDirtyRegion, DWORD dwFlags) PURE; \
STDMETHOD(GetFrontBufferData)(THIS_ IDirect3DSurface9* pDestSurface) PURE; \
STDMETHOD(GetBackBuffer)(THIS_ UINT iBackBuffer, D3DBACKBUFFER_TYPE Type, IDirect3DSurface9** ppBackBuffer) PURE; \
STDMETHOD(GetRasterStatus)(THIS_ D3DRASTER_STATUS* pRasterStatus) PURE; \
STDMETHOD(GetDisplayMode)(THIS_ D3DDISPLAYMODE* pMode) PURE; \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
DECLARE_INTERFACE_
(
IDirect3DSwapChain9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DSwapChain9 methods ***/
STDMETHOD
(
Present
)(
THIS_
CONST
RECT
*
pSourceRect
,
CONST
RECT
*
pDestRect
,
HWND
hDestWindowOverride
,
CONST
RGNDATA
*
pDirtyRegion
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetFrontBufferData
)(
THIS_
IDirect3DSurface9
*
pDestSurface
)
PURE
;
STDMETHOD
(
GetBackBuffer
)(
THIS_
UINT
iBackBuffer
,
D3DBACKBUFFER_TYPE
Type
,
IDirect3DSurface9
**
ppBackBuffer
)
PURE
;
STDMETHOD
(
GetRasterStatus
)(
THIS_
D3DRASTER_STATUS
*
pRasterStatus
)
PURE
;
STDMETHOD
(
GetDisplayMode
)(
THIS_
D3DDISPLAYMODE
*
pMode
)
PURE
;
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
GetPresentParameters
)(
THIS_
D3DPRESENT_PARAMETERS
*
pPresentationParameters
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DSwapChain9
,
IUnknown
)
{
IDirect3DSwapChain9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -674,17 +694,22 @@ DECLARE_INTERFACE_(IDirect3DSwapChain9,IUnknown) { IDirect3DSwapChain9_METHODS }
* IDirect3DResource9 interface
*/
#define INTERFACE IDirect3DResource9
#define IDirect3DResource9_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
STDMETHOD(SetPrivateData)(THIS_ REFGUID refguid, CONST void* pData, DWORD SizeOfData, DWORD Flags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID refguid, void* pData, DWORD* pSizeOfData) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID refguid) PURE; \
STDMETHOD_(DWORD, SetPriority)(THIS_ DWORD PriorityNew) PURE; \
STDMETHOD_(DWORD, GetPriority)(THIS) PURE; \
STDMETHOD_(void, PreLoad)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DResource9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DResource9
,
IUnknown
)
{
IDirect3DResource9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -721,15 +746,29 @@ DECLARE_INTERFACE_(IDirect3DResource9,IUnknown) { IDirect3DResource9_METHODS };
* IDirect3DSurface9 interface
*/
#define INTERFACE IDirect3DSurface9
#define IDirect3DSurface9_METHODS \
IDirect3DResource9_METHODS \
STDMETHOD(GetContainer)(THIS_ REFIID riid, void** ppContainer) PURE; \
STDMETHOD(GetDesc)(THIS_ D3DSURFACE_DESC* pDesc) PURE; \
STDMETHOD(LockRect)(THIS_ D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS) PURE; \
STDMETHOD(GetDC)(THIS_ HDC* phdc) PURE; \
DECLARE_INTERFACE_
(
IDirect3DSurface9
,
IDirect3DResource9
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DSurface9 methods ***/
STDMETHOD
(
GetContainer
)(
THIS_
REFIID
riid
,
void
**
ppContainer
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DSURFACE_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
LockRect
)(
THIS_
D3DLOCKED_RECT
*
pLockedRect
,
CONST
RECT
*
pRect
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockRect
)(
THIS
)
PURE
;
STDMETHOD
(
GetDC
)(
THIS_
HDC
*
phdc
)
PURE
;
STDMETHOD
(
ReleaseDC
)(
THIS_
HDC
hdc
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DSurface9
,
IDirect3DResource9
)
{
IDirect3DSurface9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -780,12 +819,26 @@ DECLARE_INTERFACE_(IDirect3DSurface9,IDirect3DResource9) { IDirect3DSurface9_MET
* IDirect3DVertexBuffer9 interface
*/
#define INTERFACE IDirect3DVertexBuffer9
#define IDirect3DVertexBuffer9_METHODS \
IDirect3DResource9_METHODS \
STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer9
,
IDirect3DResource9
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DVertexBuffer9 methods ***/
STDMETHOD
(
Lock
)(
THIS_
UINT
OffsetToLock
,
UINT
SizeToLock
,
void
**
ppbData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DVERTEXBUFFER_DESC
*
pDesc
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVertexBuffer9
,
IDirect3DResource9
)
{
IDirect3DVertexBuffer9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -830,12 +883,26 @@ DECLARE_INTERFACE_(IDirect3DVertexBuffer9,IDirect3DResource9) { IDirect3DVertexB
* IDirect3DIndexBuffer9 interface
*/
#define INTERFACE IDirect3DIndexBuffer9
#define IDirect3DIndexBuffer9_METHODS \
IDirect3DResource9_METHODS \
STDMETHOD(Lock)(THIS_ UINT OffsetToLock, UINT SizeToLock, void** ppbData, DWORD Flags) PURE; \
STDMETHOD(Unlock)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DIndexBuffer9
,
IDirect3DResource9
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DIndexBuffer9 methods ***/
STDMETHOD
(
Lock
)(
THIS_
UINT
OffsetToLock
,
UINT
SizeToLock
,
void
**
ppbData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS
)
PURE
;
STDMETHOD
(
GetDesc
)(
THIS_
D3DINDEXBUFFER_DESC
*
pDesc
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DIndexBuffer9
,
IDirect3DResource9
)
{
IDirect3DIndexBuffer9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -880,15 +947,29 @@ DECLARE_INTERFACE_(IDirect3DIndexBuffer9,IDirect3DResource9) { IDirect3DIndexBuf
* IDirect3DBaseTexture9 interface
*/
#define INTERFACE IDirect3DBaseTexture9
#define IDirect3DBaseTexture9_METHODS \
IDirect3DResource9_METHODS \
STDMETHOD_(DWORD, SetLOD)(THIS_ DWORD LODNew) PURE; \
STDMETHOD_(DWORD, GetLOD)(THIS) PURE; \
STDMETHOD_(DWORD, GetLevelCount)(THIS) PURE; \
STDMETHOD(SetAutoGenFilterType)(THIS_ D3DTEXTUREFILTERTYPE FilterType) PURE; \
STDMETHOD_(D3DTEXTUREFILTERTYPE, GetAutoGenFilterType)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DBaseTexture9
,
IDirect3DResource9
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture9 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
STDMETHOD
(
SetAutoGenFilterType
)(
THIS_
D3DTEXTUREFILTERTYPE
FilterType
)
PURE
;
STDMETHOD_
(
D3DTEXTUREFILTERTYPE
,
GetAutoGenFilterType
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
GenerateMipSubLevels
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DBaseTexture9
,
IDirect3DResource9
)
{
IDirect3DBaseTexture9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -939,14 +1020,35 @@ DECLARE_INTERFACE_(IDirect3DBaseTexture9,IDirect3DResource9) { IDirect3DBaseText
* IDirect3DCubeTexture9 interface
*/
#define INTERFACE IDirect3DCubeTexture9
#define IDirect3DCubeTexture9_METHODS \
IDirect3DBaseTexture9_METHODS \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level,D3DSURFACE_DESC* pDesc) PURE; \
STDMETHOD(GetCubeMapSurface)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, IDirect3DSurface9** ppCubeMapSurface) PURE; \
STDMETHOD(LockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS_ D3DCUBEMAP_FACES FaceType, UINT Level) PURE; \
DECLARE_INTERFACE_
(
IDirect3DCubeTexture9
,
IDirect3DBaseTexture9
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture9 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
STDMETHOD
(
SetAutoGenFilterType
)(
THIS_
D3DTEXTUREFILTERTYPE
FilterType
)
PURE
;
STDMETHOD_
(
D3DTEXTUREFILTERTYPE
,
GetAutoGenFilterType
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
GenerateMipSubLevels
)(
THIS
)
PURE
;
/*** IDirect3DCubeTexture9 methods ***/
STDMETHOD
(
GetLevelDesc
)(
THIS_
UINT
Level
,
D3DSURFACE_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
GetCubeMapSurface
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
UINT
Level
,
IDirect3DSurface9
**
ppCubeMapSurface
)
PURE
;
STDMETHOD
(
LockRect
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
UINT
Level
,
D3DLOCKED_RECT
*
pLockedRect
,
CONST
RECT
*
pRect
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockRect
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
UINT
Level
)
PURE
;
STDMETHOD
(
AddDirtyRect
)(
THIS_
D3DCUBEMAP_FACES
FaceType
,
CONST
RECT
*
pDirtyRect
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DCubeTexture9
,
IDirect3DBaseTexture9
)
{
IDirect3DCubeTexture9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1009,14 +1111,35 @@ DECLARE_INTERFACE_(IDirect3DCubeTexture9,IDirect3DBaseTexture9) { IDirect3DCubeT
* IDirect3DTexture9 interface
*/
#define INTERFACE IDirect3DTexture9
#define IDirect3DTexture9_METHODS \
IDirect3DBaseTexture9_METHODS \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DSURFACE_DESC* pDesc) PURE; \
STDMETHOD(GetSurfaceLevel)(THIS_ UINT Level, IDirect3DSurface9** ppSurfaceLevel) PURE; \
STDMETHOD(LockRect)(THIS_ UINT Level, D3DLOCKED_RECT* pLockedRect, CONST RECT* pRect, DWORD Flags) PURE; \
STDMETHOD(UnlockRect)(THIS_ UINT Level) PURE; \
DECLARE_INTERFACE_
(
IDirect3DTexture9
,
IDirect3DBaseTexture9
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture9 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
STDMETHOD
(
SetAutoGenFilterType
)(
THIS_
D3DTEXTUREFILTERTYPE
FilterType
)
PURE
;
STDMETHOD_
(
D3DTEXTUREFILTERTYPE
,
GetAutoGenFilterType
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
GenerateMipSubLevels
)(
THIS
)
PURE
;
/*** IDirect3DTexture9 methods ***/
STDMETHOD
(
GetLevelDesc
)(
THIS_
UINT
Level
,
D3DSURFACE_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
GetSurfaceLevel
)(
THIS_
UINT
Level
,
IDirect3DSurface9
**
ppSurfaceLevel
)
PURE
;
STDMETHOD
(
LockRect
)(
THIS_
UINT
Level
,
D3DLOCKED_RECT
*
pLockedRect
,
CONST
RECT
*
pRect
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockRect
)(
THIS_
UINT
Level
)
PURE
;
STDMETHOD
(
AddDirtyRect
)(
THIS_
CONST
RECT
*
pDirtyRect
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DTexture9
,
IDirect3DBaseTexture9
)
{
IDirect3DTexture9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1079,14 +1202,35 @@ DECLARE_INTERFACE_(IDirect3DTexture9,IDirect3DBaseTexture9) { IDirect3DTexture9_
* IDirect3DVolumeTexture9 interface
*/
#define INTERFACE IDirect3DVolumeTexture9
#define IDirect3DVolumeTexture9_METHODS \
IDirect3DBaseTexture9_METHODS \
STDMETHOD(GetLevelDesc)(THIS_ UINT Level, D3DVOLUME_DESC *pDesc) PURE; \
STDMETHOD(GetVolumeLevel)(THIS_ UINT Level, IDirect3DVolume9** ppVolumeLevel) PURE; \
STDMETHOD(LockBox)(THIS_ UINT Level, D3DLOCKED_BOX* pLockedVolume, CONST D3DBOX* pBox, DWORD Flags) PURE; \
STDMETHOD(UnlockBox)(THIS_ UINT Level) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVolumeTexture9
,
IDirect3DBaseTexture9
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DResource9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
refguid
,
CONST
void
*
pData
,
DWORD
SizeOfData
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
refguid
,
void
*
pData
,
DWORD
*
pSizeOfData
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
refguid
)
PURE
;
STDMETHOD_
(
DWORD
,
SetPriority
)(
THIS_
DWORD
PriorityNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetPriority
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
PreLoad
)(
THIS
)
PURE
;
STDMETHOD_
(
D3DRESOURCETYPE
,
GetType
)(
THIS
)
PURE
;
/*** IDirect3DBaseTexture9 methods ***/
STDMETHOD_
(
DWORD
,
SetLOD
)(
THIS_
DWORD
LODNew
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLOD
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetLevelCount
)(
THIS
)
PURE
;
STDMETHOD
(
SetAutoGenFilterType
)(
THIS_
D3DTEXTUREFILTERTYPE
FilterType
)
PURE
;
STDMETHOD_
(
D3DTEXTUREFILTERTYPE
,
GetAutoGenFilterType
)(
THIS
)
PURE
;
STDMETHOD_
(
void
,
GenerateMipSubLevels
)(
THIS
)
PURE
;
/*** IDirect3DVolumeTexture9 methods ***/
STDMETHOD
(
GetLevelDesc
)(
THIS_
UINT
Level
,
D3DVOLUME_DESC
*
pDesc
)
PURE
;
STDMETHOD
(
GetVolumeLevel
)(
THIS_
UINT
Level
,
IDirect3DVolume9
**
ppVolumeLevel
)
PURE
;
STDMETHOD
(
LockBox
)(
THIS_
UINT
Level
,
D3DLOCKED_BOX
*
pLockedVolume
,
CONST
D3DBOX
*
pBox
,
DWORD
Flags
)
PURE
;
STDMETHOD
(
UnlockBox
)(
THIS_
UINT
Level
)
PURE
;
STDMETHOD
(
AddDirtyBox
)(
THIS_
CONST
D3DBOX
*
pDirtyBox
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVolumeTexture9
,
IDirect3DBaseTexture9
)
{
IDirect3DVolumeTexture9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1149,11 +1293,16 @@ DECLARE_INTERFACE_(IDirect3DVolumeTexture9,IDirect3DBaseTexture9) { IDirect3DVol
* IDirect3DVertexDeclaration9 interface
*/
#define INTERFACE IDirect3DVertexDeclaration9
#define IDirect3DVertexDeclaration9_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVertexDeclaration9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DVertexDeclaration9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
GetDeclaration
)(
THIS_
D3DVERTEXELEMENT9
*
,
UINT
*
pNumElements
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVertexDeclaration9
,
IUnknown
)
{
IDirect3DVertexDeclaration9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1178,11 +1327,16 @@ DECLARE_INTERFACE_(IDirect3DVertexDeclaration9, IUnknown) { IDirect3DVertexDecla
* IDirect3DVertexShader9 interface
*/
#define INTERFACE IDirect3DVertexShader9
#define IDirect3DVertexShader9_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
DECLARE_INTERFACE_
(
IDirect3DVertexShader9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DVertexShader9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
GetFunction
)(
THIS_
void
*
,
UINT
*
pSizeOfData
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DVertexShader9
,
IUnknown
)
{
IDirect3DVertexShader9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1207,11 +1361,16 @@ DECLARE_INTERFACE_(IDirect3DVertexShader9,IUnknown) { IDirect3DVertexShader9_MET
* IDirect3DPixelShader9 interface
*/
#define INTERFACE IDirect3DPixelShader9
#define IDirect3DPixelShader9_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
DECLARE_INTERFACE_
(
IDirect3DPixelShader9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DPixelShader9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
GetFunction
)(
THIS_
void
*
,
UINT
*
pSizeOfData
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DPixelShader9
,
IUnknown
)
{
IDirect3DPixelShader9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1236,12 +1395,17 @@ DECLARE_INTERFACE_(IDirect3DPixelShader9,IUnknown) { IDirect3DPixelShader9_METHO
* IDirect3DStateBlock9 interface
*/
#define INTERFACE IDirect3DStateBlock9
#define IDirect3DStateBlock9_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
STDMETHOD(Capture)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirect3DStateBlock9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DStateBlock9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD
(
Capture
)(
THIS
)
PURE
;
STDMETHOD
(
Apply
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DStateBlock9
,
IUnknown
)
{
IDirect3DStateBlock9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1268,14 +1432,19 @@ DECLARE_INTERFACE_(IDirect3DStateBlock9,IUnknown) { IDirect3DStateBlock9_METHODS
* IDirect3DQuery9 interface
*/
#define INTERFACE IDirect3DQuery9
#define IDirect3DQuery9_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDevice)(THIS_ IDirect3DDevice9** ppDevice) PURE; \
STDMETHOD_(D3DQUERYTYPE, GetType)(THIS) PURE; \
STDMETHOD_(DWORD, GetDataSize)(THIS) PURE; \
STDMETHOD(Issue)(THIS_ DWORD dwIssueFlags) PURE; \
DECLARE_INTERFACE_
(
IDirect3DQuery9
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirect3DQuery9 methods ***/
STDMETHOD
(
GetDevice
)(
THIS_
IDirect3DDevice9
**
ppDevice
)
PURE
;
STDMETHOD_
(
D3DQUERYTYPE
,
GetType
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetDataSize
)(
THIS
)
PURE
;
STDMETHOD
(
Issue
)(
THIS_
DWORD
dwIssueFlags
)
PURE
;
STDMETHOD
(
GetData
)(
THIS_
void
*
pData
,
DWORD
dwSize
,
DWORD
dwGetDataFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirect3DQuery9
,
IUnknown
)
{
IDirect3DQuery9_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/d3dx8core.h
View file @
5d0160ea
...
...
@@ -55,13 +55,17 @@ typedef struct ID3DXFont ID3DXFont, *LPD3DXFONT;
/*****************************************************************************
* ID3DXBuffer interface
*/
#undef INTERFACE
#define INTERFACE ID3DXBuffer
#define ID3DXBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD_(LPVOID,GetBufferPointer)(THIS) PURE; \
DECLARE_INTERFACE_
(
ID3DXBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** ID3DXBuffer methods ***/
STDMETHOD_
(
LPVOID
,
GetBufferPointer
)(
THIS
)
PURE
;
STDMETHOD_
(
DWORD
,
GetBufferSize
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
ID3DXBuffer
,
IUnknown
)
{
ID3DXBuffer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -77,14 +81,18 @@ DECLARE_INTERFACE_(ID3DXBuffer,IUnknown) { ID3DXBuffer_METHODS };
/*****************************************************************************
* ID3DXFont interface
*/
#undef INTERFACE
#define INTERFACE ID3DXFont
#define ID3DXFont_METHODS \
IUnknown_METHODS \
STDMETHOD(Begin)(THIS) PURE; \
STDMETHOD(DrawTextA)(THIS) PURE; \
DECLARE_INTERFACE_
(
ID3DXFont
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** ID3DXFont methods ***/
STDMETHOD
(
Begin
)(
THIS
)
PURE
;
STDMETHOD
(
DrawTextA
)(
THIS
)
PURE
;
STDMETHOD
(
End
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
ID3DXFont
,
IUnknown
)
{
ID3DXFont_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/ddraw.h
View file @
5d0160ea
...
...
@@ -1202,13 +1202,18 @@ typedef struct tagDDDEVICEIDENTIFIER2 {
* IDirectDrawPalette interface
*/
#define INTERFACE IDirectDrawPalette
#define IDirectDrawPalette_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPDWORD lpdwCaps) PURE; \
STDMETHOD(GetEntries)(THIS_ DWORD dwFlags, DWORD dwBase, DWORD dwNumEntries, LPPALETTEENTRY lpEntries) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags, LPPALETTEENTRY lpDDColorTable) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawPalette
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawPalette methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPDWORD
lpdwCaps
)
PURE
;
STDMETHOD
(
GetEntries
)(
THIS_
DWORD
dwFlags
,
DWORD
dwBase
,
DWORD
dwNumEntries
,
LPPALETTEENTRY
lpEntries
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTDRAW
lpDD
,
DWORD
dwFlags
,
LPPALETTEENTRY
lpDDColorTable
)
PURE
;
STDMETHOD
(
SetEntries
)(
THIS_
DWORD
dwFlags
,
DWORD
dwStartingEntry
,
DWORD
dwCount
,
LPPALETTEENTRY
lpEntries
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawPalette
,
IUnknown
)
{
IDirectDrawPalette_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1238,15 +1243,20 @@ DECLARE_INTERFACE_(IDirectDrawPalette,IUnknown) { IDirectDrawPalette_METHODS };
* IDirectDrawClipper interface
*/
#define INTERFACE IDirectDrawClipper
#define IDirectDrawClipper_METHODS \
IUnknown_METHODS \
STDMETHOD(GetClipList)(THIS_ LPRECT lpRect, LPRGNDATA lpClipList, LPDWORD lpdwSize) PURE; \
STDMETHOD(GetHWnd)(THIS_ HWND *lphWnd) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, DWORD dwFlags) PURE; \
STDMETHOD(IsClipListChanged)(THIS_ BOOL *lpbChanged) PURE; \
STDMETHOD(SetClipList)(THIS_ LPRGNDATA lpClipList, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawClipper
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawClipper methods ***/
STDMETHOD
(
GetClipList
)(
THIS_
LPRECT
lpRect
,
LPRGNDATA
lpClipList
,
LPDWORD
lpdwSize
)
PURE
;
STDMETHOD
(
GetHWnd
)(
THIS_
HWND
*
lphWnd
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTDRAW
lpDD
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
IsClipListChanged
)(
THIS_
BOOL
*
lpbChanged
)
PURE
;
STDMETHOD
(
SetClipList
)(
THIS_
LPRGNDATA
lpClipList
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetHWnd
)(
THIS_
DWORD
dwFlags
,
HWND
hWnd
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawClipper
,
IUnknown
)
{
IDirectDrawClipper_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1280,29 +1290,34 @@ DECLARE_INTERFACE_(IDirectDrawClipper,IUnknown) { IDirectDrawClipper_METHODS };
* IDirectDraw interface
*/
#define INTERFACE IDirectDraw
#define IDirectDraw_METHODS \
IUnknown_METHODS \
STDMETHOD(Compact)(THIS) PURE; \
STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface) PURE; \
STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback) PURE; \
STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(FlipToGDISurface)(THIS) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *lplpGDIDDSurface) PURE; \
STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP) PURE; \
DECLARE_INTERFACE_
(
IDirectDraw
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDraw methods ***/
STDMETHOD
(
Compact
)(
THIS
)
PURE
;
STDMETHOD
(
CreateClipper
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreatePalette
)(
THIS_
DWORD
dwFlags
,
LPPALETTEENTRY
lpColorTable
,
LPDIRECTDRAWPALETTE
*
lplpDDPalette
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
CreateSurface
)(
THIS_
LPDDSURFACEDESC
lpDDSurfaceDesc
,
LPDIRECTDRAWSURFACE
*
lplpDDSurface
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
DuplicateSurface
)(
THIS_
LPDIRECTDRAWSURFACE
lpDDSurface
,
LPDIRECTDRAWSURFACE
*
lplpDupDDSurface
)
PURE
;
STDMETHOD
(
EnumDisplayModes
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC
lpDDSurfaceDesc
,
LPVOID
lpContext
,
LPDDENUMMODESCALLBACK
lpEnumModesCallback
)
PURE
;
STDMETHOD
(
EnumSurfaces
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC
lpDDSD
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpEnumSurfacesCallback
)
PURE
;
STDMETHOD
(
FlipToGDISurface
)(
THIS
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDDCAPS
lpDDDriverCaps
,
LPDDCAPS
lpDDHELCaps
)
PURE
;
STDMETHOD
(
GetDisplayMode
)(
THIS_
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
GetFourCCCodes
)(
THIS_
LPDWORD
lpNumCodes
,
LPDWORD
lpCodes
)
PURE
;
STDMETHOD
(
GetGDISurface
)(
THIS_
LPDIRECTDRAWSURFACE
*
lplpGDIDDSurface
)
PURE
;
STDMETHOD
(
GetMonitorFrequency
)(
THIS_
LPDWORD
lpdwFrequency
)
PURE
;
STDMETHOD
(
GetScanLine
)(
THIS_
LPDWORD
lpdwScanLine
)
PURE
;
STDMETHOD
(
GetVerticalBlankStatus
)(
THIS_
BOOL
*
lpbIsInVB
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
GUID
*
lpGUID
)
PURE
;
STDMETHOD
(
RestoreDisplayMode
)(
THIS
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hWnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDisplayMode
)(
THIS_
DWORD
dwWidth
,
DWORD
dwHeight
,
DWORD
dwBPP
)
PURE
;
STDMETHOD
(
WaitForVerticalBlank
)(
THIS_
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDraw
,
IUnknown
)
{
IDirectDraw_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1378,31 +1393,36 @@ DECLARE_INTERFACE_(IDirectDraw,IUnknown) { IDirectDraw_METHODS };
* arguments of SetDisplayMode has changed !
*/
#define INTERFACE IDirectDraw2
#define IDirectDraw2_METHODS \
/*00*/
IUnknown_METHODS \
/*0c*/
STDMETHOD(Compact)(THIS) PURE; \
/*10*/
STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/
STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/
STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc, LPDIRECTDRAWSURFACE *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/
STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSurface, LPDIRECTDRAWSURFACE *lplpDupDDSurface) PURE; \
/*20*/
STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK lpEnumModesCallback) PURE; \
/*24*/
STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
/*28*/
STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/
STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/
STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*34*/
STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/
STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE *lplpGDIDDSurface) PURE; \
/*3c*/
STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/
STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/
STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/
STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/
STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/
STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/
STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* added in v2 */
\
DECLARE_INTERFACE_
(
IDirectDraw2
,
IUnknown
)
{
/*** IUnknown methods ***/
/*00*/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
/*04*/
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
/*08*/
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDraw2 methods ***/
/*0c*/
STDMETHOD
(
Compact
)(
THIS
)
PURE
;
/*10*/
STDMETHOD
(
CreateClipper
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
,
IUnknown
*
pUnkOuter
)
PURE
;
/*14*/
STDMETHOD
(
CreatePalette
)(
THIS_
DWORD
dwFlags
,
LPPALETTEENTRY
lpColorTable
,
LPDIRECTDRAWPALETTE
*
lplpDDPalette
,
IUnknown
*
pUnkOuter
)
PURE
;
/*18*/
STDMETHOD
(
CreateSurface
)(
THIS_
LPDDSURFACEDESC
lpDDSurfaceDesc
,
LPDIRECTDRAWSURFACE
*
lplpDDSurface
,
IUnknown
*
pUnkOuter
)
PURE
;
/*1c*/
STDMETHOD
(
DuplicateSurface
)(
THIS_
LPDIRECTDRAWSURFACE
lpDDSurface
,
LPDIRECTDRAWSURFACE
*
lplpDupDDSurface
)
PURE
;
/*20*/
STDMETHOD
(
EnumDisplayModes
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC
lpDDSurfaceDesc
,
LPVOID
lpContext
,
LPDDENUMMODESCALLBACK
lpEnumModesCallback
)
PURE
;
/*24*/
STDMETHOD
(
EnumSurfaces
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC
lpDDSD
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpEnumSurfacesCallback
)
PURE
;
/*28*/
STDMETHOD
(
FlipToGDISurface
)(
THIS
)
PURE
;
/*2c*/
STDMETHOD
(
GetCaps
)(
THIS_
LPDDCAPS
lpDDDriverCaps
,
LPDDCAPS
lpDDHELCaps
)
PURE
;
/*30*/
STDMETHOD
(
GetDisplayMode
)(
THIS_
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
/*34*/
STDMETHOD
(
GetFourCCCodes
)(
THIS_
LPDWORD
lpNumCodes
,
LPDWORD
lpCodes
)
PURE
;
/*38*/
STDMETHOD
(
GetGDISurface
)(
THIS_
LPDIRECTDRAWSURFACE
*
lplpGDIDDSurface
)
PURE
;
/*3c*/
STDMETHOD
(
GetMonitorFrequency
)(
THIS_
LPDWORD
lpdwFrequency
)
PURE
;
/*40*/
STDMETHOD
(
GetScanLine
)(
THIS_
LPDWORD
lpdwScanLine
)
PURE
;
/*44*/
STDMETHOD
(
GetVerticalBlankStatus
)(
THIS_
BOOL
*
lpbIsInVB
)
PURE
;
/*48*/
STDMETHOD
(
Initialize
)(
THIS_
GUID
*
lpGUID
)
PURE
;
/*4c*/
STDMETHOD
(
RestoreDisplayMode
)(
THIS
)
PURE
;
/*50*/
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hWnd
,
DWORD
dwFlags
)
PURE
;
/*54*/
STDMETHOD
(
SetDisplayMode
)(
THIS_
DWORD
dwWidth
,
DWORD
dwHeight
,
DWORD
dwBPP
,
DWORD
dwRefreshRate
,
DWORD
dwFlags
)
PURE
;
/*58*/
STDMETHOD
(
WaitForVerticalBlank
)(
THIS_
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
/* added in v2 */
/*5c*/
STDMETHOD
(
GetAvailableVidMem
)(
THIS_
LPDDSCAPS
lpDDCaps
,
LPDWORD
lpdwTotal
,
LPDWORD
lpdwFree
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDraw2
,
IUnknown
)
{
IDirectDraw2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1468,36 +1488,41 @@ DECLARE_INTERFACE_(IDirectDraw2,IUnknown) { IDirectDraw2_METHODS };
* IDirectDraw4 interface
*/
#define INTERFACE IDirectDraw4
#define IDirectDraw4_METHODS \
/*00*/
IUnknown_METHODS \
/*0c*/
STDMETHOD(Compact)(THIS) PURE; \
/*10*/
STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/
STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/
STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE4 *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/
STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSurface, LPDIRECTDRAWSURFACE4 *lplpDupDDSurface) PURE; \
/*20*/
STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpEnumModesCallback) PURE; \
/*24*/
STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK2 lpEnumSurfacesCallback) PURE; \
/*28*/
STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/
STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/
STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
/*34*/
STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/
STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE4 *lplpGDIDDSurface) PURE; \
/*3c*/
STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/
STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/
STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/
STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/
STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/
STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/
STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* added in v2 */
\
/*5c*/
STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree) PURE; \
/* added in v4 */
\
/*60*/
STDMETHOD(GetSurfaceFromDC)(THIS_ HDC hdc, LPDIRECTDRAWSURFACE4 *pSurf) PURE; \
/*64*/
STDMETHOD(RestoreAllSurfaces)(THIS) PURE; \
/*68*/
STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirectDraw4
,
IUnknown
)
{
/*** IUnknown methods ***/
/*00*/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
/*04*/
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
/*08*/
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDraw4 methods ***/
/*0c*/
STDMETHOD
(
Compact
)(
THIS
)
PURE
;
/*10*/
STDMETHOD
(
CreateClipper
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
,
IUnknown
*
pUnkOuter
)
PURE
;
/*14*/
STDMETHOD
(
CreatePalette
)(
THIS_
DWORD
dwFlags
,
LPPALETTEENTRY
lpColorTable
,
LPDIRECTDRAWPALETTE
*
lplpDDPalette
,
IUnknown
*
pUnkOuter
)
PURE
;
/*18*/
STDMETHOD
(
CreateSurface
)(
THIS_
LPDDSURFACEDESC2
lpDDSurfaceDesc
,
LPDIRECTDRAWSURFACE4
*
lplpDDSurface
,
IUnknown
*
pUnkOuter
)
PURE
;
/*1c*/
STDMETHOD
(
DuplicateSurface
)(
THIS_
LPDIRECTDRAWSURFACE4
lpDDSurface
,
LPDIRECTDRAWSURFACE4
*
lplpDupDDSurface
)
PURE
;
/*20*/
STDMETHOD
(
EnumDisplayModes
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC2
lpDDSurfaceDesc
,
LPVOID
lpContext
,
LPDDENUMMODESCALLBACK2
lpEnumModesCallback
)
PURE
;
/*24*/
STDMETHOD
(
EnumSurfaces
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC2
lpDDSD
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK2
lpEnumSurfacesCallback
)
PURE
;
/*28*/
STDMETHOD
(
FlipToGDISurface
)(
THIS
)
PURE
;
/*2c*/
STDMETHOD
(
GetCaps
)(
THIS_
LPDDCAPS
lpDDDriverCaps
,
LPDDCAPS
lpDDHELCaps
)
PURE
;
/*30*/
STDMETHOD
(
GetDisplayMode
)(
THIS_
LPDDSURFACEDESC2
lpDDSurfaceDesc
)
PURE
;
/*34*/
STDMETHOD
(
GetFourCCCodes
)(
THIS_
LPDWORD
lpNumCodes
,
LPDWORD
lpCodes
)
PURE
;
/*38*/
STDMETHOD
(
GetGDISurface
)(
THIS_
LPDIRECTDRAWSURFACE4
*
lplpGDIDDSurface
)
PURE
;
/*3c*/
STDMETHOD
(
GetMonitorFrequency
)(
THIS_
LPDWORD
lpdwFrequency
)
PURE
;
/*40*/
STDMETHOD
(
GetScanLine
)(
THIS_
LPDWORD
lpdwScanLine
)
PURE
;
/*44*/
STDMETHOD
(
GetVerticalBlankStatus
)(
THIS_
BOOL
*
lpbIsInVB
)
PURE
;
/*48*/
STDMETHOD
(
Initialize
)(
THIS_
GUID
*
lpGUID
)
PURE
;
/*4c*/
STDMETHOD
(
RestoreDisplayMode
)(
THIS
)
PURE
;
/*50*/
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hWnd
,
DWORD
dwFlags
)
PURE
;
/*54*/
STDMETHOD
(
SetDisplayMode
)(
THIS_
DWORD
dwWidth
,
DWORD
dwHeight
,
DWORD
dwBPP
,
DWORD
dwRefreshRate
,
DWORD
dwFlags
)
PURE
;
/*58*/
STDMETHOD
(
WaitForVerticalBlank
)(
THIS_
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
/* added in v2 */
/*5c*/
STDMETHOD
(
GetAvailableVidMem
)(
THIS_
LPDDSCAPS2
lpDDCaps
,
LPDWORD
lpdwTotal
,
LPDWORD
lpdwFree
)
PURE
;
/* added in v4 */
/*60*/
STDMETHOD
(
GetSurfaceFromDC
)(
THIS_
HDC
hdc
,
LPDIRECTDRAWSURFACE4
*
pSurf
)
PURE
;
/*64*/
STDMETHOD
(
RestoreAllSurfaces
)(
THIS
)
PURE
;
/*68*/
STDMETHOD
(
TestCooperativeLevel
)(
THIS
)
PURE
;
/*6c*/
STDMETHOD
(
GetDeviceIdentifier
)(
THIS_
LPDDDEVICEIDENTIFIER
pDDDI
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDraw4
,
IUnknown
)
{
IDirectDraw4_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1576,39 +1601,44 @@ DECLARE_INTERFACE_(IDirectDraw4,IUnknown) { IDirectDraw4_METHODS };
* as not interchangeable with earlier DirectDraw interfaces.
*/
#define INTERFACE IDirectDraw7
#define IDirectDraw7_METHODS \
/*00*/
IUnknown_METHODS \
/*0c*/
STDMETHOD(Compact)(THIS) PURE; \
/*10*/
STDMETHOD(CreateClipper)(THIS_ DWORD dwFlags, LPDIRECTDRAWCLIPPER *lplpDDClipper, IUnknown *pUnkOuter) PURE; \
/*14*/
STDMETHOD(CreatePalette)(THIS_ DWORD dwFlags, LPPALETTEENTRY lpColorTable, LPDIRECTDRAWPALETTE *lplpDDPalette, IUnknown *pUnkOuter) PURE; \
/*18*/
STDMETHOD(CreateSurface)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc, LPDIRECTDRAWSURFACE7 *lplpDDSurface, IUnknown *pUnkOuter) PURE; \
/*1c*/
STDMETHOD(DuplicateSurface)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSurface, LPDIRECTDRAWSURFACE7 *lplpDupDDSurface) PURE; \
/*20*/
STDMETHOD(EnumDisplayModes)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSurfaceDesc, LPVOID lpContext, LPDDENUMMODESCALLBACK2 lpEnumModesCallback) PURE; \
/*24*/
STDMETHOD(EnumSurfaces)(THIS_ DWORD dwFlags, LPDDSURFACEDESC2 lpDDSD, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback) PURE; \
/*28*/
STDMETHOD(FlipToGDISurface)(THIS) PURE; \
/*2c*/
STDMETHOD(GetCaps)(THIS_ LPDDCAPS lpDDDriverCaps, LPDDCAPS lpDDHELCaps) PURE; \
/*30*/
STDMETHOD(GetDisplayMode)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
/*34*/
STDMETHOD(GetFourCCCodes)(THIS_ LPDWORD lpNumCodes, LPDWORD lpCodes) PURE; \
/*38*/
STDMETHOD(GetGDISurface)(THIS_ LPDIRECTDRAWSURFACE7 *lplpGDIDDSurface) PURE; \
/*3c*/
STDMETHOD(GetMonitorFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
/*40*/
STDMETHOD(GetScanLine)(THIS_ LPDWORD lpdwScanLine) PURE; \
/*44*/
STDMETHOD(GetVerticalBlankStatus)(THIS_ BOOL *lpbIsInVB) PURE; \
/*48*/
STDMETHOD(Initialize)(THIS_ GUID *lpGUID) PURE; \
/*4c*/
STDMETHOD(RestoreDisplayMode)(THIS) PURE; \
/*50*/
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hWnd, DWORD dwFlags) PURE; \
/*54*/
STDMETHOD(SetDisplayMode)(THIS_ DWORD dwWidth, DWORD dwHeight, DWORD dwBPP, DWORD dwRefreshRate, DWORD dwFlags) PURE; \
/*58*/
STDMETHOD(WaitForVerticalBlank)(THIS_ DWORD dwFlags, HANDLE hEvent) PURE; \
/* added in v2 */
\
/*5c*/
STDMETHOD(GetAvailableVidMem)(THIS_ LPDDSCAPS2 lpDDCaps, LPDWORD lpdwTotal, LPDWORD lpdwFree) PURE; \
/* added in v4 */
\
/*60*/
STDMETHOD(GetSurfaceFromDC)(THIS_ HDC hdc, LPDIRECTDRAWSURFACE7 *pSurf) PURE; \
/*64*/
STDMETHOD(RestoreAllSurfaces)(THIS) PURE; \
/*68*/
STDMETHOD(TestCooperativeLevel)(THIS) PURE; \
/*6c*/
STDMETHOD(GetDeviceIdentifier)(THIS_ LPDDDEVICEIDENTIFIER2 pDDDI, DWORD dwFlags) PURE; \
/* added in v7 */
\
/*70*/
STDMETHOD(StartModeTest)(THIS_ LPSIZE pModes, DWORD dwNumModes, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectDraw7
,
IUnknown
)
{
/*** IUnknown methods ***/
/*00*/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
/*04*/
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
/*08*/
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDraw7 methods ***/
/*0c*/
STDMETHOD
(
Compact
)(
THIS
)
PURE
;
/*10*/
STDMETHOD
(
CreateClipper
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
,
IUnknown
*
pUnkOuter
)
PURE
;
/*14*/
STDMETHOD
(
CreatePalette
)(
THIS_
DWORD
dwFlags
,
LPPALETTEENTRY
lpColorTable
,
LPDIRECTDRAWPALETTE
*
lplpDDPalette
,
IUnknown
*
pUnkOuter
)
PURE
;
/*18*/
STDMETHOD
(
CreateSurface
)(
THIS_
LPDDSURFACEDESC2
lpDDSurfaceDesc
,
LPDIRECTDRAWSURFACE7
*
lplpDDSurface
,
IUnknown
*
pUnkOuter
)
PURE
;
/*1c*/
STDMETHOD
(
DuplicateSurface
)(
THIS_
LPDIRECTDRAWSURFACE7
lpDDSurface
,
LPDIRECTDRAWSURFACE7
*
lplpDupDDSurface
)
PURE
;
/*20*/
STDMETHOD
(
EnumDisplayModes
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC2
lpDDSurfaceDesc
,
LPVOID
lpContext
,
LPDDENUMMODESCALLBACK2
lpEnumModesCallback
)
PURE
;
/*24*/
STDMETHOD
(
EnumSurfaces
)(
THIS_
DWORD
dwFlags
,
LPDDSURFACEDESC2
lpDDSD
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK7
lpEnumSurfacesCallback
)
PURE
;
/*28*/
STDMETHOD
(
FlipToGDISurface
)(
THIS
)
PURE
;
/*2c*/
STDMETHOD
(
GetCaps
)(
THIS_
LPDDCAPS
lpDDDriverCaps
,
LPDDCAPS
lpDDHELCaps
)
PURE
;
/*30*/
STDMETHOD
(
GetDisplayMode
)(
THIS_
LPDDSURFACEDESC2
lpDDSurfaceDesc
)
PURE
;
/*34*/
STDMETHOD
(
GetFourCCCodes
)(
THIS_
LPDWORD
lpNumCodes
,
LPDWORD
lpCodes
)
PURE
;
/*38*/
STDMETHOD
(
GetGDISurface
)(
THIS_
LPDIRECTDRAWSURFACE7
*
lplpGDIDDSurface
)
PURE
;
/*3c*/
STDMETHOD
(
GetMonitorFrequency
)(
THIS_
LPDWORD
lpdwFrequency
)
PURE
;
/*40*/
STDMETHOD
(
GetScanLine
)(
THIS_
LPDWORD
lpdwScanLine
)
PURE
;
/*44*/
STDMETHOD
(
GetVerticalBlankStatus
)(
THIS_
BOOL
*
lpbIsInVB
)
PURE
;
/*48*/
STDMETHOD
(
Initialize
)(
THIS_
GUID
*
lpGUID
)
PURE
;
/*4c*/
STDMETHOD
(
RestoreDisplayMode
)(
THIS
)
PURE
;
/*50*/
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hWnd
,
DWORD
dwFlags
)
PURE
;
/*54*/
STDMETHOD
(
SetDisplayMode
)(
THIS_
DWORD
dwWidth
,
DWORD
dwHeight
,
DWORD
dwBPP
,
DWORD
dwRefreshRate
,
DWORD
dwFlags
)
PURE
;
/*58*/
STDMETHOD
(
WaitForVerticalBlank
)(
THIS_
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
/* added in v2 */
/*5c*/
STDMETHOD
(
GetAvailableVidMem
)(
THIS_
LPDDSCAPS2
lpDDCaps
,
LPDWORD
lpdwTotal
,
LPDWORD
lpdwFree
)
PURE
;
/* added in v4 */
/*60*/
STDMETHOD
(
GetSurfaceFromDC
)(
THIS_
HDC
hdc
,
LPDIRECTDRAWSURFACE7
*
pSurf
)
PURE
;
/*64*/
STDMETHOD
(
RestoreAllSurfaces
)(
THIS
)
PURE
;
/*68*/
STDMETHOD
(
TestCooperativeLevel
)(
THIS
)
PURE
;
/*6c*/
STDMETHOD
(
GetDeviceIdentifier
)(
THIS_
LPDDDEVICEIDENTIFIER2
pDDDI
,
DWORD
dwFlags
)
PURE
;
/* added in v7 */
/*70*/
STDMETHOD
(
StartModeTest
)(
THIS_
LPSIZE
pModes
,
DWORD
dwNumModes
,
DWORD
dwFlags
)
PURE
;
/*74*/
STDMETHOD
(
EvaluateMode
)(
THIS_
DWORD
dwFlags
,
DWORD
*
pTimeout
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDraw7
,
IUnknown
)
{
IDirectDraw7_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1690,42 +1720,47 @@ DECLARE_INTERFACE_(IDirectDraw7,IUnknown) { IDirectDraw7_METHODS };
* IDirectDrawSurface interface
*/
#define INTERFACE IDirectDrawSurface
#define IDirectDrawSurface_METHODS \
/*00*/
IUnknown_METHODS \
/*0c*/
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE lpDDSAttachedSurface) PURE; \
/*10*/
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
/*14*/
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
/*18*/
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
/*1c*/
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
/*20*/
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE lpDDSAttachedSurface) PURE; \
/*24*/
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
/*28*/
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
/*2c*/
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
/*30*/
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE *lplpDDAttachedSurface) PURE; \
/*34*/
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
/*38*/
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
/*3c*/
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
/*40*/
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
/*44*/
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
/*48*/
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
/*4c*/
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
/*50*/
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
/*54*/
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
/*58*/
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*5c*/
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
/*60*/
STDMETHOD(IsLost)(THIS) PURE; \
/*64*/
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
/*68*/
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
/*6c*/
STDMETHOD(Restore)(THIS) PURE; \
/*70*/
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
/*74*/
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
/*78*/
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
/*7c*/
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
/*80*/
STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
/*84*/
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
/*88*/
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawSurface
,
IUnknown
)
{
/*** IUnknown methods ***/
/*00*/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
/*04*/
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
/*08*/
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawSurface methods ***/
/*0c*/
STDMETHOD
(
AddAttachedSurface
)(
THIS_
LPDIRECTDRAWSURFACE
lpDDSAttachedSurface
)
PURE
;
/*10*/
STDMETHOD
(
AddOverlayDirtyRect
)(
THIS_
LPRECT
lpRect
)
PURE
;
/*14*/
STDMETHOD
(
Blt
)(
THIS_
LPRECT
lpDestRect
,
LPDIRECTDRAWSURFACE
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwFlags
,
LPDDBLTFX
lpDDBltFx
)
PURE
;
/*18*/
STDMETHOD
(
BltBatch
)(
THIS_
LPDDBLTBATCH
lpDDBltBatch
,
DWORD
dwCount
,
DWORD
dwFlags
)
PURE
;
/*1c*/
STDMETHOD
(
BltFast
)(
THIS_
DWORD
dwX
,
DWORD
dwY
,
LPDIRECTDRAWSURFACE
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwTrans
)
PURE
;
/*20*/
STDMETHOD
(
DeleteAttachedSurface
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE
lpDDSAttachedSurface
)
PURE
;
/*24*/
STDMETHOD
(
EnumAttachedSurfaces
)(
THIS_
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpEnumSurfacesCallback
)
PURE
;
/*28*/
STDMETHOD
(
EnumOverlayZOrders
)(
THIS_
DWORD
dwFlags
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpfnCallback
)
PURE
;
/*2c*/
STDMETHOD
(
Flip
)(
THIS_
LPDIRECTDRAWSURFACE
lpDDSurfaceTargetOverride
,
DWORD
dwFlags
)
PURE
;
/*30*/
STDMETHOD
(
GetAttachedSurface
)(
THIS_
LPDDSCAPS
lpDDSCaps
,
LPDIRECTDRAWSURFACE
*
lplpDDAttachedSurface
)
PURE
;
/*34*/
STDMETHOD
(
GetBltStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
/*38*/
STDMETHOD
(
GetCaps
)(
THIS_
LPDDSCAPS
lpDDSCaps
)
PURE
;
/*3c*/
STDMETHOD
(
GetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
)
PURE
;
/*40*/
STDMETHOD
(
GetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
/*44*/
STDMETHOD
(
GetDC
)(
THIS_
HDC
*
lphDC
)
PURE
;
/*48*/
STDMETHOD
(
GetFlipStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
/*4c*/
STDMETHOD
(
GetOverlayPosition
)(
THIS_
LPLONG
lplX
,
LPLONG
lplY
)
PURE
;
/*50*/
STDMETHOD
(
GetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
*
lplpDDPalette
)
PURE
;
/*54*/
STDMETHOD
(
GetPixelFormat
)(
THIS_
LPDDPIXELFORMAT
lpDDPixelFormat
)
PURE
;
/*58*/
STDMETHOD
(
GetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
/*5c*/
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTDRAW
lpDD
,
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
/*60*/
STDMETHOD
(
IsLost
)(
THIS
)
PURE
;
/*64*/
STDMETHOD
(
Lock
)(
THIS_
LPRECT
lpDestRect
,
LPDDSURFACEDESC
lpDDSurfaceDesc
,
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
/*68*/
STDMETHOD
(
ReleaseDC
)(
THIS_
HDC
hDC
)
PURE
;
/*6c*/
STDMETHOD
(
Restore
)(
THIS
)
PURE
;
/*70*/
STDMETHOD
(
SetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
lpDDClipper
)
PURE
;
/*74*/
STDMETHOD
(
SetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
/*78*/
STDMETHOD
(
SetOverlayPosition
)(
THIS_
LONG
lX
,
LONG
lY
)
PURE
;
/*7c*/
STDMETHOD
(
SetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
lpDDPalette
)
PURE
;
/*80*/
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
lpSurfaceData
)
PURE
;
/*84*/
STDMETHOD
(
UpdateOverlay
)(
THIS_
LPRECT
lpSrcRect
,
LPDIRECTDRAWSURFACE
lpDDDestSurface
,
LPRECT
lpDestRect
,
DWORD
dwFlags
,
LPDDOVERLAYFX
lpDDOverlayFx
)
PURE
;
/*88*/
STDMETHOD
(
UpdateOverlayDisplay
)(
THIS_
DWORD
dwFlags
)
PURE
;
/*8c*/
STDMETHOD
(
UpdateOverlayZOrder
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE
lpDDSReference
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawSurface
,
IUnknown
)
{
IDirectDrawSurface_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1816,46 +1851,51 @@ DECLARE_INTERFACE_(IDirectDrawSurface,IUnknown) { IDirectDrawSurface_METHODS };
* have been converted to LPDIRECTDRAWSURFACE2.
*/
#define INTERFACE IDirectDrawSurface2
#define IDirectDrawSurface2_METHODS \
IUnknown_METHODS \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE2 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE2 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE2 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE2 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE2 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE2 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE2 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE2 lpDDSReference) PURE; \
/* added in v2 */
\
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawSurface2
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawSurface2 methods ***/
STDMETHOD
(
AddAttachedSurface
)(
THIS_
LPDIRECTDRAWSURFACE2
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
AddOverlayDirtyRect
)(
THIS_
LPRECT
lpRect
)
PURE
;
STDMETHOD
(
Blt
)(
THIS_
LPRECT
lpDestRect
,
LPDIRECTDRAWSURFACE2
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwFlags
,
LPDDBLTFX
lpDDBltFx
)
PURE
;
STDMETHOD
(
BltBatch
)(
THIS_
LPDDBLTBATCH
lpDDBltBatch
,
DWORD
dwCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
BltFast
)(
THIS_
DWORD
dwX
,
DWORD
dwY
,
LPDIRECTDRAWSURFACE2
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwTrans
)
PURE
;
STDMETHOD
(
DeleteAttachedSurface
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE2
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
EnumAttachedSurfaces
)(
THIS_
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpEnumSurfacesCallback
)
PURE
;
STDMETHOD
(
EnumOverlayZOrders
)(
THIS_
DWORD
dwFlags
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpfnCallback
)
PURE
;
STDMETHOD
(
Flip
)(
THIS_
LPDIRECTDRAWSURFACE2
lpDDSurfaceTargetOverride
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetAttachedSurface
)(
THIS_
LPDDSCAPS
lpDDSCaps
,
LPDIRECTDRAWSURFACE2
*
lplpDDAttachedSurface
)
PURE
;
STDMETHOD
(
GetBltStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDDSCAPS
lpDDSCaps
)
PURE
;
STDMETHOD
(
GetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
)
PURE
;
STDMETHOD
(
GetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
GetDC
)(
THIS_
HDC
*
lphDC
)
PURE
;
STDMETHOD
(
GetFlipStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetOverlayPosition
)(
THIS_
LPLONG
lplX
,
LPLONG
lplY
)
PURE
;
STDMETHOD
(
GetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
*
lplpDDPalette
)
PURE
;
STDMETHOD
(
GetPixelFormat
)(
THIS_
LPDDPIXELFORMAT
lpDDPixelFormat
)
PURE
;
STDMETHOD
(
GetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTDRAW
lpDD
,
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
IsLost
)(
THIS
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
LPRECT
lpDestRect
,
LPDDSURFACEDESC
lpDDSurfaceDesc
,
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
ReleaseDC
)(
THIS_
HDC
hDC
)
PURE
;
STDMETHOD
(
Restore
)(
THIS
)
PURE
;
STDMETHOD
(
SetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
lpDDClipper
)
PURE
;
STDMETHOD
(
SetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
SetOverlayPosition
)(
THIS_
LONG
lX
,
LONG
lY
)
PURE
;
STDMETHOD
(
SetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
lpDDPalette
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
lpSurfaceData
)
PURE
;
STDMETHOD
(
UpdateOverlay
)(
THIS_
LPRECT
lpSrcRect
,
LPDIRECTDRAWSURFACE2
lpDDDestSurface
,
LPRECT
lpDestRect
,
DWORD
dwFlags
,
LPDDOVERLAYFX
lpDDOverlayFx
)
PURE
;
STDMETHOD
(
UpdateOverlayDisplay
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
UpdateOverlayZOrder
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE2
lpDDSReference
)
PURE
;
/* added in v2 */
STDMETHOD
(
GetDDInterface
)(
THIS_
LPVOID
*
lplpDD
)
PURE
;
STDMETHOD
(
PageLock
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
PageUnlock
)(
THIS_
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawSurface2
,
IUnknown
)
{
IDirectDrawSurface2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1954,48 +1994,53 @@ DECLARE_INTERFACE_(IDirectDrawSurface2,IUnknown) { IDirectDrawSurface2_METHODS }
* have been converted to LPDIRECTDRAWSURFACE3.
*/
#define INTERFACE IDirectDrawSurface3
#define IDirectDrawSurface3_METHODS \
IUnknown_METHODS \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE3 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE3 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE3 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE3 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE3 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS lpDDSCaps, LPDIRECTDRAWSURFACE3 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE3 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE3 lpDDSReference) PURE; \
/* added in v2 */
\
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */
\
DECLARE_INTERFACE_
(
IDirectDrawSurface3
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawSurface3 methods ***/
STDMETHOD
(
AddAttachedSurface
)(
THIS_
LPDIRECTDRAWSURFACE3
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
AddOverlayDirtyRect
)(
THIS_
LPRECT
lpRect
)
PURE
;
STDMETHOD
(
Blt
)(
THIS_
LPRECT
lpDestRect
,
LPDIRECTDRAWSURFACE3
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwFlags
,
LPDDBLTFX
lpDDBltFx
)
PURE
;
STDMETHOD
(
BltBatch
)(
THIS_
LPDDBLTBATCH
lpDDBltBatch
,
DWORD
dwCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
BltFast
)(
THIS_
DWORD
dwX
,
DWORD
dwY
,
LPDIRECTDRAWSURFACE3
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwTrans
)
PURE
;
STDMETHOD
(
DeleteAttachedSurface
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE3
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
EnumAttachedSurfaces
)(
THIS_
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpEnumSurfacesCallback
)
PURE
;
STDMETHOD
(
EnumOverlayZOrders
)(
THIS_
DWORD
dwFlags
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpfnCallback
)
PURE
;
STDMETHOD
(
Flip
)(
THIS_
LPDIRECTDRAWSURFACE3
lpDDSurfaceTargetOverride
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetAttachedSurface
)(
THIS_
LPDDSCAPS
lpDDSCaps
,
LPDIRECTDRAWSURFACE3
*
lplpDDAttachedSurface
)
PURE
;
STDMETHOD
(
GetBltStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDDSCAPS
lpDDSCaps
)
PURE
;
STDMETHOD
(
GetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
)
PURE
;
STDMETHOD
(
GetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
GetDC
)(
THIS_
HDC
*
lphDC
)
PURE
;
STDMETHOD
(
GetFlipStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetOverlayPosition
)(
THIS_
LPLONG
lplX
,
LPLONG
lplY
)
PURE
;
STDMETHOD
(
GetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
*
lplpDDPalette
)
PURE
;
STDMETHOD
(
GetPixelFormat
)(
THIS_
LPDDPIXELFORMAT
lpDDPixelFormat
)
PURE
;
STDMETHOD
(
GetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTDRAW
lpDD
,
LPDDSURFACEDESC
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
IsLost
)(
THIS
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
LPRECT
lpDestRect
,
LPDDSURFACEDESC
lpDDSurfaceDesc
,
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
ReleaseDC
)(
THIS_
HDC
hDC
)
PURE
;
STDMETHOD
(
Restore
)(
THIS
)
PURE
;
STDMETHOD
(
SetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
lpDDClipper
)
PURE
;
STDMETHOD
(
SetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
SetOverlayPosition
)(
THIS_
LONG
lX
,
LONG
lY
)
PURE
;
STDMETHOD
(
SetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
lpDDPalette
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
lpSurfaceData
)
PURE
;
STDMETHOD
(
UpdateOverlay
)(
THIS_
LPRECT
lpSrcRect
,
LPDIRECTDRAWSURFACE3
lpDDDestSurface
,
LPRECT
lpDestRect
,
DWORD
dwFlags
,
LPDDOVERLAYFX
lpDDOverlayFx
)
PURE
;
STDMETHOD
(
UpdateOverlayDisplay
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
UpdateOverlayZOrder
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE3
lpDDSReference
)
PURE
;
/* added in v2 */
STDMETHOD
(
GetDDInterface
)(
THIS_
LPVOID
*
lplpDD
)
PURE
;
STDMETHOD
(
PageLock
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
PageUnlock
)(
THIS_
DWORD
dwFlags
)
PURE
;
/* added in v3 */
STDMETHOD
(
SetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC
lpDDSD
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawSurface3
,
IUnknown
)
{
IDirectDrawSurface3_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -2097,54 +2142,59 @@ DECLARE_INTERFACE_(IDirectDrawSurface3,IUnknown) { IDirectDrawSurface3_METHODS }
/* Cannot inherit from IDirectDrawSurface2 because DDSCAPS changed to DDSCAPS2.
*/
#define INTERFACE IDirectDrawSurface4
#define IDirectDrawSurface4_METHODS \
IUnknown_METHODS \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE4 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE4 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE4 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE4 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2 lpDDSCaps, LPDIRECTDRAWSURFACE4 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2 lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPRECT lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE4 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE4 lpDDSReference) PURE; \
/* added in v2 */
\
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */
\
STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSD, DWORD dwFlags) PURE; \
/* added in v4 */
\
STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE; \
STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawSurface4
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawSurface4 methods ***/
STDMETHOD
(
AddAttachedSurface
)(
THIS_
LPDIRECTDRAWSURFACE4
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
AddOverlayDirtyRect
)(
THIS_
LPRECT
lpRect
)
PURE
;
STDMETHOD
(
Blt
)(
THIS_
LPRECT
lpDestRect
,
LPDIRECTDRAWSURFACE4
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwFlags
,
LPDDBLTFX
lpDDBltFx
)
PURE
;
STDMETHOD
(
BltBatch
)(
THIS_
LPDDBLTBATCH
lpDDBltBatch
,
DWORD
dwCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
BltFast
)(
THIS_
DWORD
dwX
,
DWORD
dwY
,
LPDIRECTDRAWSURFACE4
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwTrans
)
PURE
;
STDMETHOD
(
DeleteAttachedSurface
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE4
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
EnumAttachedSurfaces
)(
THIS_
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpEnumSurfacesCallback
)
PURE
;
STDMETHOD
(
EnumOverlayZOrders
)(
THIS_
DWORD
dwFlags
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK
lpfnCallback
)
PURE
;
STDMETHOD
(
Flip
)(
THIS_
LPDIRECTDRAWSURFACE4
lpDDSurfaceTargetOverride
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetAttachedSurface
)(
THIS_
LPDDSCAPS2
lpDDSCaps
,
LPDIRECTDRAWSURFACE4
*
lplpDDAttachedSurface
)
PURE
;
STDMETHOD
(
GetBltStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDDSCAPS2
lpDDSCaps
)
PURE
;
STDMETHOD
(
GetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
)
PURE
;
STDMETHOD
(
GetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
GetDC
)(
THIS_
HDC
*
lphDC
)
PURE
;
STDMETHOD
(
GetFlipStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetOverlayPosition
)(
THIS_
LPLONG
lplX
,
LPLONG
lplY
)
PURE
;
STDMETHOD
(
GetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
*
lplpDDPalette
)
PURE
;
STDMETHOD
(
GetPixelFormat
)(
THIS_
LPDDPIXELFORMAT
lpDDPixelFormat
)
PURE
;
STDMETHOD
(
GetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC2
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTDRAW
lpDD
,
LPDDSURFACEDESC2
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
IsLost
)(
THIS
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
LPRECT
lpDestRect
,
LPDDSURFACEDESC2
lpDDSurfaceDesc
,
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
ReleaseDC
)(
THIS_
HDC
hDC
)
PURE
;
STDMETHOD
(
Restore
)(
THIS
)
PURE
;
STDMETHOD
(
SetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
lpDDClipper
)
PURE
;
STDMETHOD
(
SetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
SetOverlayPosition
)(
THIS_
LONG
lX
,
LONG
lY
)
PURE
;
STDMETHOD
(
SetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
lpDDPalette
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPRECT
lpSurfaceData
)
PURE
;
STDMETHOD
(
UpdateOverlay
)(
THIS_
LPRECT
lpSrcRect
,
LPDIRECTDRAWSURFACE4
lpDDDestSurface
,
LPRECT
lpDestRect
,
DWORD
dwFlags
,
LPDDOVERLAYFX
lpDDOverlayFx
)
PURE
;
STDMETHOD
(
UpdateOverlayDisplay
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
UpdateOverlayZOrder
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE4
lpDDSReference
)
PURE
;
/* added in v2 */
STDMETHOD
(
GetDDInterface
)(
THIS_
LPVOID
*
lplpDD
)
PURE
;
STDMETHOD
(
PageLock
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
PageUnlock
)(
THIS_
DWORD
dwFlags
)
PURE
;
/* added in v3 */
STDMETHOD
(
SetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC2
lpDDSD
,
DWORD
dwFlags
)
PURE
;
/* added in v4 */
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
tag
,
LPVOID
pData
,
DWORD
cbSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
tag
,
LPVOID
pBuffer
,
LPDWORD
pcbBufferSize
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
tag
)
PURE
;
STDMETHOD
(
GetUniquenessValue
)(
THIS_
LPDWORD
pValue
)
PURE
;
STDMETHOD
(
ChangeUniquenessValue
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawSurface4
,
IUnknown
)
{
IDirectDrawSurface4_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -2256,59 +2306,64 @@ DECLARE_INTERFACE_(IDirectDrawSurface4,IUnknown) { IDirectDrawSurface4_METHODS }
* IDirectDrawSurface7 interface
*/
#define INTERFACE IDirectDrawSurface7
#define IDirectDrawSurface7_METHODS \
IUnknown_METHODS \
STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSAttachedSurface) PURE; \
STDMETHOD(AddOverlayDirtyRect)(THIS_ LPRECT lpRect) PURE; \
STDMETHOD(Blt)(THIS_ LPRECT lpDestRect, LPDIRECTDRAWSURFACE7 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwFlags, LPDDBLTFX lpDDBltFx) PURE; \
STDMETHOD(BltBatch)(THIS_ LPDDBLTBATCH lpDDBltBatch, DWORD dwCount, DWORD dwFlags) PURE; \
STDMETHOD(BltFast)(THIS_ DWORD dwX, DWORD dwY, LPDIRECTDRAWSURFACE7 lpDDSrcSurface, LPRECT lpSrcRect, DWORD dwTrans) PURE; \
STDMETHOD(DeleteAttachedSurface)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE7 lpDDSAttachedSurface) PURE; \
STDMETHOD(EnumAttachedSurfaces)(THIS_ LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpEnumSurfacesCallback) PURE; \
STDMETHOD(EnumOverlayZOrders)(THIS_ DWORD dwFlags, LPVOID lpContext, LPDDENUMSURFACESCALLBACK7 lpfnCallback) PURE; \
STDMETHOD(Flip)(THIS_ LPDIRECTDRAWSURFACE7 lpDDSurfaceTargetOverride, DWORD dwFlags) PURE; \
STDMETHOD(GetAttachedSurface)(THIS_ LPDDSCAPS2 lpDDSCaps, LPDIRECTDRAWSURFACE7 *lplpDDAttachedSurface) PURE; \
STDMETHOD(GetBltStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDDSCAPS2 lpDDSCaps) PURE; \
STDMETHOD(GetClipper)(THIS_ LPDIRECTDRAWCLIPPER *lplpDDClipper) PURE; \
STDMETHOD(GetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(GetDC)(THIS_ HDC *lphDC) PURE; \
STDMETHOD(GetFlipStatus)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(GetOverlayPosition)(THIS_ LPLONG lplX, LPLONG lplY) PURE; \
STDMETHOD(GetPalette)(THIS_ LPDIRECTDRAWPALETTE *lplpDDPalette) PURE; \
STDMETHOD(GetPixelFormat)(THIS_ LPDDPIXELFORMAT lpDDPixelFormat) PURE; \
STDMETHOD(GetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTDRAW lpDD, LPDDSURFACEDESC2 lpDDSurfaceDesc) PURE; \
STDMETHOD(IsLost)(THIS) PURE; \
STDMETHOD(Lock)(THIS_ LPRECT lpDestRect, LPDDSURFACEDESC2 lpDDSurfaceDesc, DWORD dwFlags, HANDLE hEvent) PURE; \
STDMETHOD(ReleaseDC)(THIS_ HDC hDC) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetClipper)(THIS_ LPDIRECTDRAWCLIPPER lpDDClipper) PURE; \
STDMETHOD(SetColorKey)(THIS_ DWORD dwFlags, LPDDCOLORKEY lpDDColorKey) PURE; \
STDMETHOD(SetOverlayPosition)(THIS_ LONG lX, LONG lY) PURE; \
STDMETHOD(SetPalette)(THIS_ LPDIRECTDRAWPALETTE lpDDPalette) PURE; \
STDMETHOD(Unlock)(THIS_ LPRECT lpSurfaceData) PURE; \
STDMETHOD(UpdateOverlay)(THIS_ LPRECT lpSrcRect, LPDIRECTDRAWSURFACE7 lpDDDestSurface, LPRECT lpDestRect, DWORD dwFlags, LPDDOVERLAYFX lpDDOverlayFx) PURE; \
STDMETHOD(UpdateOverlayDisplay)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(UpdateOverlayZOrder)(THIS_ DWORD dwFlags, LPDIRECTDRAWSURFACE7 lpDDSReference) PURE; \
/* added in v2 */
\
STDMETHOD(GetDDInterface)(THIS_ LPVOID *lplpDD) PURE; \
STDMETHOD(PageLock)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(PageUnlock)(THIS_ DWORD dwFlags) PURE; \
/* added in v3 */
\
STDMETHOD(SetSurfaceDesc)(THIS_ LPDDSURFACEDESC2 lpDDSD, DWORD dwFlags) PURE; \
/* added in v4 */
\
STDMETHOD(SetPrivateData)(THIS_ REFGUID tag, LPVOID pData, DWORD cbSize, DWORD dwFlags) PURE; \
STDMETHOD(GetPrivateData)(THIS_ REFGUID tag, LPVOID pBuffer, LPDWORD pcbBufferSize) PURE; \
STDMETHOD(FreePrivateData)(THIS_ REFGUID tag) PURE; \
STDMETHOD(GetUniquenessValue)(THIS_ LPDWORD pValue) PURE; \
STDMETHOD(ChangeUniquenessValue)(THIS) PURE; \
/* added in v7 */
\
STDMETHOD(SetPriority)(THIS_ DWORD prio) PURE; \
STDMETHOD(GetPriority)(THIS_ LPDWORD prio) PURE; \
STDMETHOD(SetLOD)(THIS_ DWORD lod) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawSurface7
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawSurface7 methods ***/
STDMETHOD
(
AddAttachedSurface
)(
THIS_
LPDIRECTDRAWSURFACE7
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
AddOverlayDirtyRect
)(
THIS_
LPRECT
lpRect
)
PURE
;
STDMETHOD
(
Blt
)(
THIS_
LPRECT
lpDestRect
,
LPDIRECTDRAWSURFACE7
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwFlags
,
LPDDBLTFX
lpDDBltFx
)
PURE
;
STDMETHOD
(
BltBatch
)(
THIS_
LPDDBLTBATCH
lpDDBltBatch
,
DWORD
dwCount
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
BltFast
)(
THIS_
DWORD
dwX
,
DWORD
dwY
,
LPDIRECTDRAWSURFACE7
lpDDSrcSurface
,
LPRECT
lpSrcRect
,
DWORD
dwTrans
)
PURE
;
STDMETHOD
(
DeleteAttachedSurface
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE7
lpDDSAttachedSurface
)
PURE
;
STDMETHOD
(
EnumAttachedSurfaces
)(
THIS_
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK7
lpEnumSurfacesCallback
)
PURE
;
STDMETHOD
(
EnumOverlayZOrders
)(
THIS_
DWORD
dwFlags
,
LPVOID
lpContext
,
LPDDENUMSURFACESCALLBACK7
lpfnCallback
)
PURE
;
STDMETHOD
(
Flip
)(
THIS_
LPDIRECTDRAWSURFACE7
lpDDSurfaceTargetOverride
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetAttachedSurface
)(
THIS_
LPDDSCAPS2
lpDDSCaps
,
LPDIRECTDRAWSURFACE7
*
lplpDDAttachedSurface
)
PURE
;
STDMETHOD
(
GetBltStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDDSCAPS2
lpDDSCaps
)
PURE
;
STDMETHOD
(
GetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
*
lplpDDClipper
)
PURE
;
STDMETHOD
(
GetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
GetDC
)(
THIS_
HDC
*
lphDC
)
PURE
;
STDMETHOD
(
GetFlipStatus
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetOverlayPosition
)(
THIS_
LPLONG
lplX
,
LPLONG
lplY
)
PURE
;
STDMETHOD
(
GetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
*
lplpDDPalette
)
PURE
;
STDMETHOD
(
GetPixelFormat
)(
THIS_
LPDDPIXELFORMAT
lpDDPixelFormat
)
PURE
;
STDMETHOD
(
GetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC2
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTDRAW
lpDD
,
LPDDSURFACEDESC2
lpDDSurfaceDesc
)
PURE
;
STDMETHOD
(
IsLost
)(
THIS
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
LPRECT
lpDestRect
,
LPDDSURFACEDESC2
lpDDSurfaceDesc
,
DWORD
dwFlags
,
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
ReleaseDC
)(
THIS_
HDC
hDC
)
PURE
;
STDMETHOD
(
Restore
)(
THIS
)
PURE
;
STDMETHOD
(
SetClipper
)(
THIS_
LPDIRECTDRAWCLIPPER
lpDDClipper
)
PURE
;
STDMETHOD
(
SetColorKey
)(
THIS_
DWORD
dwFlags
,
LPDDCOLORKEY
lpDDColorKey
)
PURE
;
STDMETHOD
(
SetOverlayPosition
)(
THIS_
LONG
lX
,
LONG
lY
)
PURE
;
STDMETHOD
(
SetPalette
)(
THIS_
LPDIRECTDRAWPALETTE
lpDDPalette
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPRECT
lpSurfaceData
)
PURE
;
STDMETHOD
(
UpdateOverlay
)(
THIS_
LPRECT
lpSrcRect
,
LPDIRECTDRAWSURFACE7
lpDDDestSurface
,
LPRECT
lpDestRect
,
DWORD
dwFlags
,
LPDDOVERLAYFX
lpDDOverlayFx
)
PURE
;
STDMETHOD
(
UpdateOverlayDisplay
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
UpdateOverlayZOrder
)(
THIS_
DWORD
dwFlags
,
LPDIRECTDRAWSURFACE7
lpDDSReference
)
PURE
;
/* added in v2 */
STDMETHOD
(
GetDDInterface
)(
THIS_
LPVOID
*
lplpDD
)
PURE
;
STDMETHOD
(
PageLock
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
PageUnlock
)(
THIS_
DWORD
dwFlags
)
PURE
;
/* added in v3 */
STDMETHOD
(
SetSurfaceDesc
)(
THIS_
LPDDSURFACEDESC2
lpDDSD
,
DWORD
dwFlags
)
PURE
;
/* added in v4 */
STDMETHOD
(
SetPrivateData
)(
THIS_
REFGUID
tag
,
LPVOID
pData
,
DWORD
cbSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPrivateData
)(
THIS_
REFGUID
tag
,
LPVOID
pBuffer
,
LPDWORD
pcbBufferSize
)
PURE
;
STDMETHOD
(
FreePrivateData
)(
THIS_
REFGUID
tag
)
PURE
;
STDMETHOD
(
GetUniquenessValue
)(
THIS_
LPDWORD
pValue
)
PURE
;
STDMETHOD
(
ChangeUniquenessValue
)(
THIS
)
PURE
;
/* added in v7 */
STDMETHOD
(
SetPriority
)(
THIS_
DWORD
prio
)
PURE
;
STDMETHOD
(
GetPriority
)(
THIS_
LPDWORD
prio
)
PURE
;
STDMETHOD
(
SetLOD
)(
THIS_
DWORD
lod
)
PURE
;
STDMETHOD
(
GetLOD
)(
THIS_
LPDWORD
lod
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawSurface7
,
IUnknown
)
{
IDirectDrawSurface7_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -2429,11 +2484,16 @@ DECLARE_INTERFACE_(IDirectDrawSurface7,IUnknown) { IDirectDrawSurface7_METHODS }
* IDirectDrawColorControl interface
*/
#define INTERFACE IDirectDrawColorControl
#define IDirectDrawColorControl_METHODS \
IUnknown_METHODS \
STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL lpColorControl) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawColorControl
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawColorControl methods ***/
STDMETHOD
(
GetColorControls
)(
THIS_
LPDDCOLORCONTROL
lpColorControl
)
PURE
;
STDMETHOD
(
SetColorControls
)(
THIS_
LPDDCOLORCONTROL
lpColorControl
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawColorControl
,
IUnknown
)
{
IDirectDrawColorControl_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -2458,11 +2518,16 @@ DECLARE_INTERFACE_(IDirectDrawColorControl,IUnknown) { IDirectDrawColorControl_M
* IDirectDrawGammaControl interface
*/
#define INTERFACE IDirectDrawGammaControl
#define IDirectDrawGammaControl_METHODS \
IUnknown_METHODS \
STDMETHOD(GetGammaRamp)(THIS_ DWORD dwFlags, LPDDGAMMARAMP lpGammaRamp) PURE; \
DECLARE_INTERFACE_
(
IDirectDrawGammaControl
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectDrawGammaControl methods ***/
STDMETHOD
(
GetGammaRamp
)(
THIS_
DWORD
dwFlags
,
LPDDGAMMARAMP
lpGammaRamp
)
PURE
;
STDMETHOD
(
SetGammaRamp
)(
THIS_
DWORD
dwFlags
,
LPDDGAMMARAMP
lpGammaRamp
)
PURE
;
DECLARE_INTERFACE_
(
IDirectDrawGammaControl
,
IUnknown
)
{
IDirectDrawGammaControl_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dinput.h
View file @
5d0160ea
...
...
@@ -1265,19 +1265,24 @@ DECL_WINELIB_TYPE_AW(LPCDIDEVICEIMAGEINFOHEADER)
* IDirectInputEffect interface
*/
#define INTERFACE IDirectInputEffect
#define IDirectInputEffect_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ HINSTANCE, DWORD, REFGUID) PURE; \
STDMETHOD(GetEffectGuid)(THIS_ LPGUID) PURE; \
STDMETHOD(GetParameters)(THIS_ LPDIEFFECT, DWORD) PURE; \
STDMETHOD(SetParameters)(THIS_ LPCDIEFFECT, DWORD) PURE; \
STDMETHOD(Start)(THIS_ DWORD, DWORD) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
STDMETHOD(GetEffectStatus)(THIS_ LPDWORD) PURE; \
STDMETHOD(Download)(THIS) PURE; \
STDMETHOD(Unload)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirectInputEffect
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputEffect methods ***/
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
,
DWORD
,
REFGUID
)
PURE
;
STDMETHOD
(
GetEffectGuid
)(
THIS_
LPGUID
)
PURE
;
STDMETHOD
(
GetParameters
)(
THIS_
LPDIEFFECT
,
DWORD
)
PURE
;
STDMETHOD
(
SetParameters
)(
THIS_
LPCDIEFFECT
,
DWORD
)
PURE
;
STDMETHOD
(
Start
)(
THIS_
DWORD
,
DWORD
)
PURE
;
STDMETHOD
(
Stop
)(
THIS
)
PURE
;
STDMETHOD
(
GetEffectStatus
)(
THIS_
LPDWORD
)
PURE
;
STDMETHOD
(
Download
)(
THIS
)
PURE
;
STDMETHOD
(
Unload
)(
THIS
)
PURE
;
STDMETHOD
(
Escape
)(
THIS_
LPDIEFFESCAPE
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputEffect
,
IUnknown
)
{
IDirectInputEffect_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1319,48 +1324,58 @@ DECLARE_INTERFACE_(IDirectInputEffect,IUnknown) { IDirectInputEffect_METHODS };
* IDirectInputDeviceA interface
*/
#define INTERFACE IDirectInputDeviceA
#define IDirectInputDeviceA_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE; \
STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE; \
STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE; \
STDMETHOD(Acquire)(THIS) PURE; \
STDMETHOD(Unacquire)(THIS) PURE; \
STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE; \
STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE; \
STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE; \
STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE; \
STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEA pdidoi, DWORD dwObj, DWORD dwHow) PURE; \
STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEA pdidi) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDeviceA
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceA methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEA
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEA
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDeviceA
,
IUnknown
)
{
IDirectInputDeviceA_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInputDeviceW interface
*/
#define INTERFACE IDirectInputDeviceW
#define IDirectInputDeviceW_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCapabilities)(THIS_ LPDIDEVCAPS lpDIDevCaps) PURE; \
STDMETHOD(EnumObjects)(THIS_ LPDIENUMDEVICEOBJECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetProperty)(THIS_ REFGUID rguidProp, LPDIPROPHEADER pdiph) PURE; \
STDMETHOD(SetProperty)(THIS_ REFGUID rguidProp, LPCDIPROPHEADER pdiph) PURE; \
STDMETHOD(Acquire)(THIS) PURE; \
STDMETHOD(Unacquire)(THIS) PURE; \
STDMETHOD(GetDeviceState)(THIS_ DWORD cbData, LPVOID lpvData) PURE; \
STDMETHOD(GetDeviceData)(THIS_ DWORD cbObjectData, LPDIDEVICEOBJECTDATA rgdod, LPDWORD pdwInOut, DWORD dwFlags) PURE; \
STDMETHOD(SetDataFormat)(THIS_ LPCDIDATAFORMAT lpdf) PURE; \
STDMETHOD(SetEventNotification)(THIS_ HANDLE hEvent) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwFlags) PURE; \
STDMETHOD(GetObjectInfo)(THIS_ LPDIDEVICEOBJECTINSTANCEW pdidoi, DWORD dwObj, DWORD dwHow) PURE; \
STDMETHOD(GetDeviceInfo)(THIS_ LPDIDEVICEINSTANCEW pdidi) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDeviceW
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceW methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEW
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEW
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDeviceW
,
IUnknown
)
{
IDirectInputDeviceW_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1412,36 +1427,78 @@ DECLARE_INTERFACE_(IDirectInputDeviceW,IUnknown) { IDirectInputDeviceW_METHODS }
* IDirectInputDevice2A interface
*/
#define INTERFACE IDirectInputDevice2A
#define IDirectInputDevice2A_METHODS \
IDirectInputDeviceA_METHODS \
STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE; \
STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKA lpCallback, LPVOID pvRef, DWORD dwEffType) PURE; \
STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOA pdei, REFGUID rguid) PURE; \
STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE; \
STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE; \
STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE; \
STDMETHOD(Poll)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDevice2A
,
IDirectInputDeviceA
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceA methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEA
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEA
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
/*** IDirectInputDevice2A methods ***/
STDMETHOD
(
CreateEffect
)(
THIS_
REFGUID
rguid
,
LPCDIEFFECT
lpeff
,
LPDIRECTINPUTEFFECT
*
ppdeff
,
LPUNKNOWN
punkOuter
)
PURE
;
STDMETHOD
(
EnumEffects
)(
THIS_
LPDIENUMEFFECTSCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwEffType
)
PURE
;
STDMETHOD
(
GetEffectInfo
)(
THIS_
LPDIEFFECTINFOA
pdei
,
REFGUID
rguid
)
PURE
;
STDMETHOD
(
GetForceFeedbackState
)(
THIS_
LPDWORD
pdwOut
)
PURE
;
STDMETHOD
(
SendForceFeedbackCommand
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumCreatedEffectObjects
)(
THIS_
LPDIENUMCREATEDEFFECTOBJECTSCALLBACK
lpCallback
,
LPVOID
pvRef
,
DWORD
fl
)
PURE
;
STDMETHOD
(
Escape
)(
THIS_
LPDIEFFESCAPE
pesc
)
PURE
;
STDMETHOD
(
Poll
)(
THIS
)
PURE
;
STDMETHOD
(
SendDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPCDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
fl
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDevice2A
,
IDirectInputDeviceA
)
{
IDirectInputDevice2A_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInputDevice2W interface
*/
#define INTERFACE IDirectInputDevice2W
#define IDirectInputDevice2W_METHODS \
IDirectInputDeviceW_METHODS \
STDMETHOD(CreateEffect)(THIS_ REFGUID rguid, LPCDIEFFECT lpeff, LPDIRECTINPUTEFFECT *ppdeff, LPUNKNOWN punkOuter) PURE; \
STDMETHOD(EnumEffects)(THIS_ LPDIENUMEFFECTSCALLBACKW lpCallback, LPVOID pvRef, DWORD dwEffType) PURE; \
STDMETHOD(GetEffectInfo)(THIS_ LPDIEFFECTINFOW pdei, REFGUID rguid) PURE; \
STDMETHOD(GetForceFeedbackState)(THIS_ LPDWORD pdwOut) PURE; \
STDMETHOD(SendForceFeedbackCommand)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(EnumCreatedEffectObjects)(THIS_ LPDIENUMCREATEDEFFECTOBJECTSCALLBACK lpCallback, LPVOID pvRef, DWORD fl) PURE; \
STDMETHOD(Escape)(THIS_ LPDIEFFESCAPE pesc) PURE; \
STDMETHOD(Poll)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDevice2W
,
IDirectInputDeviceW
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceW methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEW
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEW
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
/*** IDirectInputDevice2W methods ***/
STDMETHOD
(
CreateEffect
)(
THIS_
REFGUID
rguid
,
LPCDIEFFECT
lpeff
,
LPDIRECTINPUTEFFECT
*
ppdeff
,
LPUNKNOWN
punkOuter
)
PURE
;
STDMETHOD
(
EnumEffects
)(
THIS_
LPDIENUMEFFECTSCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwEffType
)
PURE
;
STDMETHOD
(
GetEffectInfo
)(
THIS_
LPDIEFFECTINFOW
pdei
,
REFGUID
rguid
)
PURE
;
STDMETHOD
(
GetForceFeedbackState
)(
THIS_
LPDWORD
pdwOut
)
PURE
;
STDMETHOD
(
SendForceFeedbackCommand
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumCreatedEffectObjects
)(
THIS_
LPDIENUMCREATEDEFFECTOBJECTSCALLBACK
lpCallback
,
LPVOID
pvRef
,
DWORD
fl
)
PURE
;
STDMETHOD
(
Escape
)(
THIS_
LPDIEFFESCAPE
pesc
)
PURE
;
STDMETHOD
(
Poll
)(
THIS
)
PURE
;
STDMETHOD
(
SendDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPCDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
fl
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDevice2W
,
IDirectInputDeviceW
)
{
IDirectInputDevice2W_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1513,22 +1570,84 @@ DECLARE_INTERFACE_(IDirectInputDevice2W,IDirectInputDeviceW) { IDirectInputDevic
* IDirectInputDevice7A interface
*/
#define INTERFACE IDirectInputDevice7A
#define IDirectInputDevice7A_METHODS \
IDirectInputDevice2A_METHODS \
STDMETHOD(EnumEffectsInFile)(THIS_ LPCSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDevice7A
,
IDirectInputDevice2A
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceA methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEA
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEA
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
/*** IDirectInputDevice2A methods ***/
STDMETHOD
(
CreateEffect
)(
THIS_
REFGUID
rguid
,
LPCDIEFFECT
lpeff
,
LPDIRECTINPUTEFFECT
*
ppdeff
,
LPUNKNOWN
punkOuter
)
PURE
;
STDMETHOD
(
EnumEffects
)(
THIS_
LPDIENUMEFFECTSCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwEffType
)
PURE
;
STDMETHOD
(
GetEffectInfo
)(
THIS_
LPDIEFFECTINFOA
pdei
,
REFGUID
rguid
)
PURE
;
STDMETHOD
(
GetForceFeedbackState
)(
THIS_
LPDWORD
pdwOut
)
PURE
;
STDMETHOD
(
SendForceFeedbackCommand
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumCreatedEffectObjects
)(
THIS_
LPDIENUMCREATEDEFFECTOBJECTSCALLBACK
lpCallback
,
LPVOID
pvRef
,
DWORD
fl
)
PURE
;
STDMETHOD
(
Escape
)(
THIS_
LPDIEFFESCAPE
pesc
)
PURE
;
STDMETHOD
(
Poll
)(
THIS
)
PURE
;
STDMETHOD
(
SendDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPCDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
fl
)
PURE
;
/*** IDirectInputDevice7A methods ***/
STDMETHOD
(
EnumEffectsInFile
)(
THIS_
LPCSTR
lpszFileName
,
LPDIENUMEFFECTSINFILECALLBACK
pec
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
WriteEffectToFile
)(
THIS_
LPCSTR
lpszFileName
,
DWORD
dwEntries
,
LPDIFILEEFFECT
rgDiFileEft
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDevice7A
,
IDirectInputDevice2A
)
{
IDirectInputDevice7A_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInputDevice7W interface
*/
#define INTERFACE IDirectInputDevice7W
#define IDirectInputDevice7W_METHODS \
IDirectInputDevice2W_METHODS \
STDMETHOD(EnumEffectsInFile)(THIS_ LPCWSTR lpszFileName,LPDIENUMEFFECTSINFILECALLBACK pec,LPVOID pvRef,DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDevice7W
,
IDirectInputDevice2W
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceW methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEW
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEW
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
/*** IDirectInputDevice2W methods ***/
STDMETHOD
(
CreateEffect
)(
THIS_
REFGUID
rguid
,
LPCDIEFFECT
lpeff
,
LPDIRECTINPUTEFFECT
*
ppdeff
,
LPUNKNOWN
punkOuter
)
PURE
;
STDMETHOD
(
EnumEffects
)(
THIS_
LPDIENUMEFFECTSCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwEffType
)
PURE
;
STDMETHOD
(
GetEffectInfo
)(
THIS_
LPDIEFFECTINFOW
pdei
,
REFGUID
rguid
)
PURE
;
STDMETHOD
(
GetForceFeedbackState
)(
THIS_
LPDWORD
pdwOut
)
PURE
;
STDMETHOD
(
SendForceFeedbackCommand
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumCreatedEffectObjects
)(
THIS_
LPDIENUMCREATEDEFFECTOBJECTSCALLBACK
lpCallback
,
LPVOID
pvRef
,
DWORD
fl
)
PURE
;
STDMETHOD
(
Escape
)(
THIS_
LPDIEFFESCAPE
pesc
)
PURE
;
STDMETHOD
(
Poll
)(
THIS
)
PURE
;
STDMETHOD
(
SendDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPCDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
fl
)
PURE
;
/*** IDirectInputDevice7W methods ***/
STDMETHOD
(
EnumEffectsInFile
)(
THIS_
LPCWSTR
lpszFileName
,
LPDIENUMEFFECTSINFILECALLBACK
pec
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
WriteEffectToFile
)(
THIS_
LPCWSTR
lpszFileName
,
DWORD
dwEntries
,
LPDIFILEEFFECT
rgDiFileEft
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDevice7W
,
IDirectInputDevice2W
)
{
IDirectInputDevice7W_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1608,24 +1727,92 @@ DECLARE_INTERFACE_(IDirectInputDevice7W,IDirectInputDevice2W) { IDirectInputDevi
* IDirectInputDevice8A interface
*/
#define INTERFACE IDirectInputDevice8A
#define IDirectInputDevice8A_METHODS \
IDirectInputDevice7A_METHODS \
STDMETHOD(BuildActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE; \
STDMETHOD(SetActionMap)(THIS_ LPDIACTIONFORMATA lpdiaf, LPCSTR lpszUserName, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDevice8A
,
IDirectInputDevice7A
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceA methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEA
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEA
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
/*** IDirectInputDevice2A methods ***/
STDMETHOD
(
CreateEffect
)(
THIS_
REFGUID
rguid
,
LPCDIEFFECT
lpeff
,
LPDIRECTINPUTEFFECT
*
ppdeff
,
LPUNKNOWN
punkOuter
)
PURE
;
STDMETHOD
(
EnumEffects
)(
THIS_
LPDIENUMEFFECTSCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwEffType
)
PURE
;
STDMETHOD
(
GetEffectInfo
)(
THIS_
LPDIEFFECTINFOA
pdei
,
REFGUID
rguid
)
PURE
;
STDMETHOD
(
GetForceFeedbackState
)(
THIS_
LPDWORD
pdwOut
)
PURE
;
STDMETHOD
(
SendForceFeedbackCommand
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumCreatedEffectObjects
)(
THIS_
LPDIENUMCREATEDEFFECTOBJECTSCALLBACK
lpCallback
,
LPVOID
pvRef
,
DWORD
fl
)
PURE
;
STDMETHOD
(
Escape
)(
THIS_
LPDIEFFESCAPE
pesc
)
PURE
;
STDMETHOD
(
Poll
)(
THIS
)
PURE
;
STDMETHOD
(
SendDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPCDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
fl
)
PURE
;
/*** IDirectInputDevice7A methods ***/
STDMETHOD
(
EnumEffectsInFile
)(
THIS_
LPCSTR
lpszFileName
,
LPDIENUMEFFECTSINFILECALLBACK
pec
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
WriteEffectToFile
)(
THIS_
LPCSTR
lpszFileName
,
DWORD
dwEntries
,
LPDIFILEEFFECT
rgDiFileEft
,
DWORD
dwFlags
)
PURE
;
/*** IDirectInputDevice8A methods ***/
STDMETHOD
(
BuildActionMap
)(
THIS_
LPDIACTIONFORMATA
lpdiaf
,
LPCSTR
lpszUserName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetActionMap
)(
THIS_
LPDIACTIONFORMATA
lpdiaf
,
LPCSTR
lpszUserName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetImageInfo
)(
THIS_
LPDIDEVICEIMAGEINFOHEADERA
lpdiDevImageInfoHeader
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDevice8A
,
IDirectInputDevice7A
)
{
IDirectInputDevice8A_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInputDevice8W interface
*/
#define INTERFACE IDirectInputDevice8W
#define IDirectInputDevice8W_METHODS \
IDirectInputDevice7W_METHODS \
STDMETHOD(BuildActionMap)(THIS_ LPDIACTIONFORMATW lpdiaf, LPCWSTR lpszUserName, DWORD dwFlags) PURE; \
STDMETHOD(SetActionMap)(THIS_ LPDIACTIONFORMATW lpdiaf, LPCWSTR lpszUserName, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputDevice8W
,
IDirectInputDevice7W
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputDeviceW methods ***/
STDMETHOD
(
GetCapabilities
)(
THIS_
LPDIDEVCAPS
lpDIDevCaps
)
PURE
;
STDMETHOD
(
EnumObjects
)(
THIS_
LPDIENUMDEVICEOBJECTSCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetProperty
)(
THIS_
REFGUID
rguidProp
,
LPDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
SetProperty
)(
THIS_
REFGUID
rguidProp
,
LPCDIPROPHEADER
pdiph
)
PURE
;
STDMETHOD
(
Acquire
)(
THIS
)
PURE
;
STDMETHOD
(
Unacquire
)(
THIS
)
PURE
;
STDMETHOD
(
GetDeviceState
)(
THIS_
DWORD
cbData
,
LPVOID
lpvData
)
PURE
;
STDMETHOD
(
GetDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetDataFormat
)(
THIS_
LPCDIDATAFORMAT
lpdf
)
PURE
;
STDMETHOD
(
SetEventNotification
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetObjectInfo
)(
THIS_
LPDIDEVICEOBJECTINSTANCEW
pdidoi
,
DWORD
dwObj
,
DWORD
dwHow
)
PURE
;
STDMETHOD
(
GetDeviceInfo
)(
THIS_
LPDIDEVICEINSTANCEW
pdidi
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
,
REFGUID
rguid
)
PURE
;
/*** IDirectInputDevice2W methods ***/
STDMETHOD
(
CreateEffect
)(
THIS_
REFGUID
rguid
,
LPCDIEFFECT
lpeff
,
LPDIRECTINPUTEFFECT
*
ppdeff
,
LPUNKNOWN
punkOuter
)
PURE
;
STDMETHOD
(
EnumEffects
)(
THIS_
LPDIENUMEFFECTSCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwEffType
)
PURE
;
STDMETHOD
(
GetEffectInfo
)(
THIS_
LPDIEFFECTINFOW
pdei
,
REFGUID
rguid
)
PURE
;
STDMETHOD
(
GetForceFeedbackState
)(
THIS_
LPDWORD
pdwOut
)
PURE
;
STDMETHOD
(
SendForceFeedbackCommand
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumCreatedEffectObjects
)(
THIS_
LPDIENUMCREATEDEFFECTOBJECTSCALLBACK
lpCallback
,
LPVOID
pvRef
,
DWORD
fl
)
PURE
;
STDMETHOD
(
Escape
)(
THIS_
LPDIEFFESCAPE
pesc
)
PURE
;
STDMETHOD
(
Poll
)(
THIS
)
PURE
;
STDMETHOD
(
SendDeviceData
)(
THIS_
DWORD
cbObjectData
,
LPCDIDEVICEOBJECTDATA
rgdod
,
LPDWORD
pdwInOut
,
DWORD
fl
)
PURE
;
/*** IDirectInputDevice7W methods ***/
STDMETHOD
(
EnumEffectsInFile
)(
THIS_
LPCWSTR
lpszFileName
,
LPDIENUMEFFECTSINFILECALLBACK
pec
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
WriteEffectToFile
)(
THIS_
LPCWSTR
lpszFileName
,
DWORD
dwEntries
,
LPDIFILEEFFECT
rgDiFileEft
,
DWORD
dwFlags
)
PURE
;
/*** IDirectInputDevice8W methods ***/
STDMETHOD
(
BuildActionMap
)(
THIS_
LPDIACTIONFORMATW
lpdiaf
,
LPCWSTR
lpszUserName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetActionMap
)(
THIS_
LPDIACTIONFORMATW
lpdiaf
,
LPCWSTR
lpszUserName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetImageInfo
)(
THIS_
LPDIDEVICEIMAGEINFOHEADERW
lpdiDevImageInfoHeader
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputDevice8W
,
IDirectInputDevice7W
)
{
IDirectInputDevice8W_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1752,28 +1939,38 @@ extern const DIDATAFORMAT c_dfDIJoystick2;
* IDirectInputA interface
*/
#define INTERFACE IDirectInputA
#define IDirectInputA_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEA *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputA
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputA methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICEA
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputA
,
IUnknown
)
{
IDirectInputA_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInputW interface
*/
#define INTERFACE IDirectInputW
#define IDirectInputW_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICEW *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInputW
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputW methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICEW
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInputW
,
IUnknown
)
{
IDirectInputW_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1804,20 +2001,42 @@ DECLARE_INTERFACE_(IDirectInputW,IUnknown) { IDirectInputW_METHODS };
* IDirectInput2A interface
*/
#define INTERFACE IDirectInput2A
#define IDirectInput2A_METHODS \
IDirectInputA_METHODS \
DECLARE_INTERFACE_
(
IDirectInput2A
,
IDirectInputA
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputA methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICEA
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
/*** IDirectInput2A methods ***/
STDMETHOD
(
FindDevice
)(
THIS_
REFGUID
rguid
,
LPCSTR
pszName
,
LPGUID
pguidInstance
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInput2A
,
IDirectInputA
)
{
IDirectInput2A_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInput2W interface
*/
#define INTERFACE IDirectInput2W
#define IDirectInput2W_METHODS \
IDirectInputW_METHODS \
DECLARE_INTERFACE_
(
IDirectInput2W
,
IDirectInputW
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputW methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICEW
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
/*** IDirectInput2W methods ***/
STDMETHOD
(
FindDevice
)(
THIS_
REFGUID
rguid
,
LPCWSTR
pszName
,
LPGUID
pguidInstance
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInput2W
,
IDirectInputW
)
{
IDirectInput2W_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1853,20 +2072,46 @@ DECLARE_INTERFACE_(IDirectInput2W,IDirectInputW) { IDirectInput2W_METHODS };
* IDirectInput7A interface
*/
#define INTERFACE IDirectInput7A
#define IDirectInput7A_METHODS \
IDirectInput2A_METHODS \
DECLARE_INTERFACE_
(
IDirectInput7A
,
IDirectInput2A
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputA methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICEA
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
/*** IDirectInput2A methods ***/
STDMETHOD
(
FindDevice
)(
THIS_
REFGUID
rguid
,
LPCSTR
pszName
,
LPGUID
pguidInstance
)
PURE
;
/*** IDirectInput7A methods ***/
STDMETHOD
(
CreateDeviceEx
)(
THIS_
REFGUID
rguid
,
REFIID
riid
,
LPVOID
*
pvOut
,
LPUNKNOWN
lpUnknownOuter
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInput7A
,
IDirectInput2A
)
{
IDirectInput7A_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInput7W interface
*/
#define INTERFACE IDirectInput7W
#define IDirectInput7W_METHODS \
IDirectInput2W_METHODS \
DECLARE_INTERFACE_
(
IDirectInput7W
,
IDirectInput2W
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInputW methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICEW
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
/*** IDirectInput2W methods ***/
STDMETHOD
(
FindDevice
)(
THIS_
REFGUID
rguid
,
LPCWSTR
pszName
,
LPGUID
pguidInstance
)
PURE
;
/*** IDirectInput7W methods ***/
STDMETHOD
(
CreateDeviceEx
)(
THIS_
REFGUID
rguid
,
REFIID
riid
,
LPVOID
*
pvOut
,
LPUNKNOWN
lpUnknownOuter
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInput7W
,
IDirectInput2W
)
{
IDirectInput7W_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1908,34 +2153,44 @@ DECLARE_INTERFACE_(IDirectInput7W,IDirectInput2W) { IDirectInput7W_METHODS };
* IDirectInput8A interface
*/
#define INTERFACE IDirectInput8A
#define IDirectInput8A_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICE8A *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE; \
STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCSTR pszName, LPGUID pguidInstance) PURE; \
STDMETHOD(EnumDevicesBySemantics)(THIS_ LPCSTR ptszUserName, LPDIACTIONFORMATA lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBA lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInput8A
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInput8A methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICE8A
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
STDMETHOD
(
FindDevice
)(
THIS_
REFGUID
rguid
,
LPCSTR
pszName
,
LPGUID
pguidInstance
)
PURE
;
STDMETHOD
(
EnumDevicesBySemantics
)(
THIS_
LPCSTR
ptszUserName
,
LPDIACTIONFORMATA
lpdiActionFormat
,
LPDIENUMDEVICESBYSEMANTICSCBA
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ConfigureDevices
)(
THIS_
LPDICONFIGUREDEVICESCALLBACK
lpdiCallback
,
LPDICONFIGUREDEVICESPARAMSA
lpdiCDParams
,
DWORD
dwFlags
,
LPVOID
pvRefData
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInput8A
,
IUnknown
)
{
IDirectInput8A_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectInput8W interface
*/
#define INTERFACE IDirectInput8W
#define IDirectInput8W_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateDevice)(THIS_ REFGUID rguid, LPDIRECTINPUTDEVICE8W *lplpDirectInputDevice, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumDevices)(THIS_ DWORD dwDevType, LPDIENUMDEVICESCALLBACKW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
STDMETHOD(GetDeviceStatus)(THIS_ REFGUID rguidInstance) PURE; \
STDMETHOD(RunControlPanel)(THIS_ HWND hwndOwner, DWORD dwFlags) PURE; \
STDMETHOD(Initialize)(THIS_ HINSTANCE hinst, DWORD dwVersion) PURE; \
STDMETHOD(FindDevice)(THIS_ REFGUID rguid, LPCWSTR pszName, LPGUID pguidInstance) PURE; \
STDMETHOD(EnumDevicesBySemantics)(THIS_ LPCWSTR ptszUserName, LPDIACTIONFORMATW lpdiActionFormat, LPDIENUMDEVICESBYSEMANTICSCBW lpCallback, LPVOID pvRef, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectInput8W
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectInput8W methods ***/
STDMETHOD
(
CreateDevice
)(
THIS_
REFGUID
rguid
,
LPDIRECTINPUTDEVICE8W
*
lplpDirectInputDevice
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumDevices
)(
THIS_
DWORD
dwDevType
,
LPDIENUMDEVICESCALLBACKW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetDeviceStatus
)(
THIS_
REFGUID
rguidInstance
)
PURE
;
STDMETHOD
(
RunControlPanel
)(
THIS_
HWND
hwndOwner
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
HINSTANCE
hinst
,
DWORD
dwVersion
)
PURE
;
STDMETHOD
(
FindDevice
)(
THIS_
REFGUID
rguid
,
LPCWSTR
pszName
,
LPGUID
pguidInstance
)
PURE
;
STDMETHOD
(
EnumDevicesBySemantics
)(
THIS_
LPCWSTR
ptszUserName
,
LPDIACTIONFORMATW
lpdiActionFormat
,
LPDIENUMDEVICESBYSEMANTICSCBW
lpCallback
,
LPVOID
pvRef
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ConfigureDevices
)(
THIS_
LPDICONFIGUREDEVICESCALLBACK
lpdiCallback
,
LPDICONFIGUREDEVICESPARAMSW
lpdiCDParams
,
DWORD
dwFlags
,
LPVOID
pvRefData
)
PURE
;
DECLARE_INTERFACE_
(
IDirectInput8W
,
IUnknown
)
{
IDirectInput8W_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dmplugin.h
View file @
5d0160ea
...
...
@@ -123,17 +123,21 @@ enum enumDMUS_TRACKF_FLAGS {
/*****************************************************************************
* IDirectMusicTool interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicTool
#define IDirectMusicTool_METHODS \
IUnknown_METHODS \
STDMETHOD(Init)(THIS_ IDirectMusicGraph *pGraph) PURE; \
STDMETHOD(GetMsgDeliveryType)(THIS_ DWORD *pdwDeliveryType) PURE; \
STDMETHOD(GetMediaTypeArraySize)(THIS_ DWORD *pdwNumElements) PURE; \
STDMETHOD(GetMediaTypes)(THIS_ DWORD **padwMediaTypes, DWORD dwNumElements) PURE; \
STDMETHOD(ProcessPMsg)(THIS_ IDirectMusicPerformance *pPerf, DMUS_PMSG *pPMSG) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicTool
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicTool methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusicGraph
*
pGraph
)
PURE
;
STDMETHOD
(
GetMsgDeliveryType
)(
THIS_
DWORD
*
pdwDeliveryType
)
PURE
;
STDMETHOD
(
GetMediaTypeArraySize
)(
THIS_
DWORD
*
pdwNumElements
)
PURE
;
STDMETHOD
(
GetMediaTypes
)(
THIS_
DWORD
**
padwMediaTypes
,
DWORD
dwNumElements
)
PURE
;
STDMETHOD
(
ProcessPMsg
)(
THIS_
IDirectMusicPerformance
*
pPerf
,
DMUS_PMSG
*
pPMSG
)
PURE
;
STDMETHOD
(
Flush
)(
THIS_
IDirectMusicPerformance
*
pPerf
,
DMUS_PMSG
*
pPMSG
,
REFERENCE_TIME
rtTime
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicTool
,
IUnknown
)
{
IDirectMusicTool_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -154,12 +158,23 @@ DECLARE_INTERFACE_(IDirectMusicTool,IUnknown) { IDirectMusicTool_METHODS };
/*****************************************************************************
* IDirectMusicTool8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicTool8
#define IDirectMusicTool8_METHODS \
IDirectMusicTool_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicTool8
,
IDirectMusicTool
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicTool methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusicGraph
*
pGraph
)
PURE
;
STDMETHOD
(
GetMsgDeliveryType
)(
THIS_
DWORD
*
pdwDeliveryType
)
PURE
;
STDMETHOD
(
GetMediaTypeArraySize
)(
THIS_
DWORD
*
pdwNumElements
)
PURE
;
STDMETHOD
(
GetMediaTypes
)(
THIS_
DWORD
**
padwMediaTypes
,
DWORD
dwNumElements
)
PURE
;
STDMETHOD
(
ProcessPMsg
)(
THIS_
IDirectMusicPerformance
*
pPerf
,
DMUS_PMSG
*
pPMSG
)
PURE
;
STDMETHOD
(
Flush
)(
THIS_
IDirectMusicPerformance
*
pPerf
,
DMUS_PMSG
*
pPMSG
,
REFERENCE_TIME
rtTime
)
PURE
;
/*** IDirectMusicTool8 methods ***/
STDMETHOD
(
Clone
)(
THIS_
IDirectMusicTool
**
ppTool
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicTool8
,
IDirectMusicTool
)
{
IDirectMusicTool8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -182,21 +197,25 @@ DECLARE_INTERFACE_(IDirectMusicTool8,IDirectMusicTool) { IDirectMusicTool8_METHO
/*****************************************************************************
* IDirectMusicTrack interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicTrack
#define IDirectMusicTrack_METHODS \
IUnknown_METHODS \
STDMETHOD(Init)(THIS_ IDirectMusicSegment *pSegment) PURE; \
STDMETHOD(InitPlay)(THIS_ IDirectMusicSegmentState *pSegmentState, IDirectMusicPerformance *pPerformance, void **ppStateData, DWORD dwVirtualTrackID, DWORD dwFlags) PURE; \
STDMETHOD(EndPlay)(THIS_ void *pStateData) PURE; \
STDMETHOD(Play)(THIS_ void *pStateData, MUSIC_TIME mtStart, MUSIC_TIME mtEnd, MUSIC_TIME mtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE; \
STDMETHOD(GetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
STDMETHOD(SetParam)(THIS_ REFGUID rguidType, MUSIC_TIME mtTime, void *pParam) PURE; \
STDMETHOD(IsParamSupported)(THIS_ REFGUID rguidType) PURE; \
STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicTrack
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicTrack methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusicSegment
*
pSegment
)
PURE
;
STDMETHOD
(
InitPlay
)(
THIS_
IDirectMusicSegmentState
*
pSegmentState
,
IDirectMusicPerformance
*
pPerformance
,
void
**
ppStateData
,
DWORD
dwVirtualTrackID
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EndPlay
)(
THIS_
void
*
pStateData
)
PURE
;
STDMETHOD
(
Play
)(
THIS_
void
*
pStateData
,
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
MUSIC_TIME
mtOffset
,
DWORD
dwFlags
,
IDirectMusicPerformance
*
pPerf
,
IDirectMusicSegmentState
*
pSegSt
,
DWORD
dwVirtualID
)
PURE
;
STDMETHOD
(
GetParam
)(
THIS_
REFGUID
rguidType
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
PURE
;
STDMETHOD
(
SetParam
)(
THIS_
REFGUID
rguidType
,
MUSIC_TIME
mtTime
,
void
*
pParam
)
PURE
;
STDMETHOD
(
IsParamSupported
)(
THIS_
REFGUID
rguidType
)
PURE
;
STDMETHOD
(
AddNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
RemoveNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
Clone
)(
THIS_
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
IDirectMusicTrack
**
ppTrack
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicTrack
,
IUnknown
)
{
IDirectMusicTrack_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -221,16 +240,31 @@ DECLARE_INTERFACE_(IDirectMusicTrack,IUnknown) { IDirectMusicTrack_METHODS };
/*****************************************************************************
* IDirectMusicTrack8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicTrack8
#define IDirectMusicTrack8_METHODS \
IDirectMusicTrack_METHODS \
STDMETHOD(PlayEx)(THIS_ void *pStateData, REFERENCE_TIME rtStart, REFERENCE_TIME rtEnd, REFERENCE_TIME rtOffset, DWORD dwFlags, IDirectMusicPerformance *pPerf, IDirectMusicSegmentState *pSegSt, DWORD dwVirtualID) PURE; \
STDMETHOD(GetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, REFERENCE_TIME *prtNext, void *pParam, void *pStateData, DWORD dwFlags) PURE; \
STDMETHOD(SetParamEx)(THIS_ REFGUID rguidType, REFERENCE_TIME rtTime, void *pParam, void *pStateData, DWORD dwFlags) PURE; \
STDMETHOD(Compose)(THIS_ IUnknown *pContext, DWORD dwTrackGroup, IDirectMusicTrack **ppResultTrack) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicTrack8
,
IDirectMusicTrack
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicTrack methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusicSegment
*
pSegment
)
PURE
;
STDMETHOD
(
InitPlay
)(
THIS_
IDirectMusicSegmentState
*
pSegmentState
,
IDirectMusicPerformance
*
pPerformance
,
void
**
ppStateData
,
DWORD
dwVirtualTrackID
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EndPlay
)(
THIS_
void
*
pStateData
)
PURE
;
STDMETHOD
(
Play
)(
THIS_
void
*
pStateData
,
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
MUSIC_TIME
mtOffset
,
DWORD
dwFlags
,
IDirectMusicPerformance
*
pPerf
,
IDirectMusicSegmentState
*
pSegSt
,
DWORD
dwVirtualID
)
PURE
;
STDMETHOD
(
GetParam
)(
THIS_
REFGUID
rguidType
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
PURE
;
STDMETHOD
(
SetParam
)(
THIS_
REFGUID
rguidType
,
MUSIC_TIME
mtTime
,
void
*
pParam
)
PURE
;
STDMETHOD
(
IsParamSupported
)(
THIS_
REFGUID
rguidType
)
PURE
;
STDMETHOD
(
AddNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
RemoveNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
Clone
)(
THIS_
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
IDirectMusicTrack
**
ppTrack
)
PURE
;
/*** IDirectMusicTrack8 methods ***/
STDMETHOD
(
PlayEx
)(
THIS_
void
*
pStateData
,
REFERENCE_TIME
rtStart
,
REFERENCE_TIME
rtEnd
,
REFERENCE_TIME
rtOffset
,
DWORD
dwFlags
,
IDirectMusicPerformance
*
pPerf
,
IDirectMusicSegmentState
*
pSegSt
,
DWORD
dwVirtualID
)
PURE
;
STDMETHOD
(
GetParamEx
)(
THIS_
REFGUID
rguidType
,
REFERENCE_TIME
rtTime
,
REFERENCE_TIME
*
prtNext
,
void
*
pParam
,
void
*
pStateData
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetParamEx
)(
THIS_
REFGUID
rguidType
,
REFERENCE_TIME
rtTime
,
void
*
pParam
,
void
*
pStateData
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Compose
)(
THIS_
IUnknown
*
pContext
,
DWORD
dwTrackGroup
,
IDirectMusicTrack
**
ppResultTrack
)
PURE
;
STDMETHOD
(
Join
)(
THIS_
IDirectMusicTrack
*
pNewTrack
,
MUSIC_TIME
mtJoin
,
IUnknown
*
pContext
,
DWORD
dwTrackGroup
,
IDirectMusicTrack
**
ppResultTrack
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicTrack8
,
IDirectMusicTrack
)
{
IDirectMusicTrack8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dmusicc.h
View file @
5d0160ea
...
...
@@ -370,20 +370,24 @@ struct _DMUS_CLOCKINFO8 {
/*****************************************************************************
* IDirectMusic interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusic
#define IDirectMusic_METHODS \
IUnknown_METHODS \
STDMETHOD(EnumPort)(THIS_ DWORD dwIndex, LPDMUS_PORTCAPS pPortCaps) PURE; \
STDMETHOD(CreateMusicBuffer)(THIS_ LPDMUS_BUFFERDESC pBufferDesc, LPDIRECTMUSICBUFFER **ppBuffer, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(CreatePort)(THIS_ REFCLSID rclsidPort, LPDMUS_PORTPARAMS pPortParams, LPDIRECTMUSICPORT *ppPort, LPUNKNOWN pUnkOuter) PURE; \
STDMETHOD(EnumMasterClock)(THIS_ DWORD dwIndex, LPDMUS_CLOCKINFO lpClockInfo) PURE; \
STDMETHOD(GetMasterClock)(THIS_ LPGUID pguidClock, IReferenceClock **ppReferenceClock) PURE; \
STDMETHOD(SetMasterClock)(THIS_ REFGUID rguidClock) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(GetDefaultPort)(THIS_ LPGUID pguidPort) PURE; \
DECLARE_INTERFACE_
(
IDirectMusic
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusic methods ***/
STDMETHOD
(
EnumPort
)(
THIS_
DWORD
dwIndex
,
LPDMUS_PORTCAPS
pPortCaps
)
PURE
;
STDMETHOD
(
CreateMusicBuffer
)(
THIS_
LPDMUS_BUFFERDESC
pBufferDesc
,
LPDIRECTMUSICBUFFER
**
ppBuffer
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
CreatePort
)(
THIS_
REFCLSID
rclsidPort
,
LPDMUS_PORTPARAMS
pPortParams
,
LPDIRECTMUSICPORT
*
ppPort
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumMasterClock
)(
THIS_
DWORD
dwIndex
,
LPDMUS_CLOCKINFO
lpClockInfo
)
PURE
;
STDMETHOD
(
GetMasterClock
)(
THIS_
LPGUID
pguidClock
,
IReferenceClock
**
ppReferenceClock
)
PURE
;
STDMETHOD
(
SetMasterClock
)(
THIS_
REFGUID
rguidClock
)
PURE
;
STDMETHOD
(
Activate
)(
THIS_
BOOL
fEnable
)
PURE
;
STDMETHOD
(
GetDefaultPort
)(
THIS_
LPGUID
pguidPort
)
PURE
;
STDMETHOD
(
SetDirectSound
)(
THIS_
LPDIRECTSOUND
pDirectSound
,
HWND
hWnd
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusic
,
IUnknown
)
{
IDirectMusic_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -407,12 +411,26 @@ DECLARE_INTERFACE_(IDirectMusic,IUnknown) { IDirectMusic_METHODS };
/*****************************************************************************
* IDirectMusic8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusic8
#define IDirectMusic8_METHODS \
IDirectMusic_METHODS \
DECLARE_INTERFACE_
(
IDirectMusic8
,
IDirectMusic
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusic methods ***/
STDMETHOD
(
EnumPort
)(
THIS_
DWORD
dwIndex
,
LPDMUS_PORTCAPS
pPortCaps
)
PURE
;
STDMETHOD
(
CreateMusicBuffer
)(
THIS_
LPDMUS_BUFFERDESC
pBufferDesc
,
LPDIRECTMUSICBUFFER
**
ppBuffer
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
CreatePort
)(
THIS_
REFCLSID
rclsidPort
,
LPDMUS_PORTPARAMS
pPortParams
,
LPDIRECTMUSICPORT
*
ppPort
,
LPUNKNOWN
pUnkOuter
)
PURE
;
STDMETHOD
(
EnumMasterClock
)(
THIS_
DWORD
dwIndex
,
LPDMUS_CLOCKINFO
lpClockInfo
)
PURE
;
STDMETHOD
(
GetMasterClock
)(
THIS_
LPGUID
pguidClock
,
IReferenceClock
**
ppReferenceClock
)
PURE
;
STDMETHOD
(
SetMasterClock
)(
THIS_
REFGUID
rguidClock
)
PURE
;
STDMETHOD
(
Activate
)(
THIS_
BOOL
fEnable
)
PURE
;
STDMETHOD
(
GetDefaultPort
)(
THIS_
LPGUID
pguidPort
)
PURE
;
STDMETHOD
(
SetDirectSound
)(
THIS_
LPDIRECTSOUND
pDirectSound
,
HWND
hWnd
)
PURE
;
/*** IDirectMusic8 methods ***/
STDMETHOD
(
SetExternalMasterClock
)(
THIS_
IReferenceClock
*
pClock
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusic8
,
IDirectMusic
)
{
IDirectMusic8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -438,24 +456,28 @@ DECLARE_INTERFACE_(IDirectMusic8,IDirectMusic) { IDirectMusic8_METHODS };
/*****************************************************************************
* IDirectMusicBuffer interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicBuffer
#define IDirectMusicBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(Flush)(THIS) PURE; \
STDMETHOD(TotalTime)(THIS_ LPREFERENCE_TIME prtTime) PURE; \
STDMETHOD(PackStructured)(THIS_ REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD dwChannelMessage) PURE; \
STDMETHOD(PackUnstructured)(THIS_ REFERENCE_TIME rt, DWORD dwChannelGroup, DWORD cb, LPBYTE lpb) PURE; \
STDMETHOD(ResetReadPtr)(THIS) PURE; \
STDMETHOD(GetNextEvent)(THIS_ LPREFERENCE_TIME prt, LPDWORD pdwChannelGroup, LPDWORD pdwLength, LPBYTE *ppData) PURE; \
STDMETHOD(GetRawBufferPtr)(THIS_ LPBYTE *ppData) PURE; \
STDMETHOD(GetStartTime)(THIS_ LPREFERENCE_TIME prt) PURE; \
STDMETHOD(GetUsedBytes)(THIS_ LPDWORD pcb) PURE; \
STDMETHOD(GetMaxBytes)(THIS_ LPDWORD pcb) PURE; \
STDMETHOD(GetBufferFormat)(THIS_ LPGUID pGuidFormat) PURE; \
STDMETHOD(SetStartTime)(THIS_ REFERENCE_TIME rt) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicBuffer methods ***/
STDMETHOD
(
Flush
)(
THIS
)
PURE
;
STDMETHOD
(
TotalTime
)(
THIS_
LPREFERENCE_TIME
prtTime
)
PURE
;
STDMETHOD
(
PackStructured
)(
THIS_
REFERENCE_TIME
rt
,
DWORD
dwChannelGroup
,
DWORD
dwChannelMessage
)
PURE
;
STDMETHOD
(
PackUnstructured
)(
THIS_
REFERENCE_TIME
rt
,
DWORD
dwChannelGroup
,
DWORD
cb
,
LPBYTE
lpb
)
PURE
;
STDMETHOD
(
ResetReadPtr
)(
THIS
)
PURE
;
STDMETHOD
(
GetNextEvent
)(
THIS_
LPREFERENCE_TIME
prt
,
LPDWORD
pdwChannelGroup
,
LPDWORD
pdwLength
,
LPBYTE
*
ppData
)
PURE
;
STDMETHOD
(
GetRawBufferPtr
)(
THIS_
LPBYTE
*
ppData
)
PURE
;
STDMETHOD
(
GetStartTime
)(
THIS_
LPREFERENCE_TIME
prt
)
PURE
;
STDMETHOD
(
GetUsedBytes
)(
THIS_
LPDWORD
pcb
)
PURE
;
STDMETHOD
(
GetMaxBytes
)(
THIS_
LPDWORD
pcb
)
PURE
;
STDMETHOD
(
GetBufferFormat
)(
THIS_
LPGUID
pGuidFormat
)
PURE
;
STDMETHOD
(
SetStartTime
)(
THIS_
REFERENCE_TIME
rt
)
PURE
;
STDMETHOD
(
SetUsedBytes
)(
THIS_
DWORD
cb
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicBuffer
,
IUnknown
)
{
IDirectMusicBuffer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -483,13 +505,17 @@ DECLARE_INTERFACE_(IDirectMusicBuffer,IUnknown) { IDirectMusicBuffer_METHODS };
/*****************************************************************************
* IDirectMusicInstrument interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicInstrument
#define IDirectMusicInstrument_METHODS \
IUnknown_METHODS \
STDMETHOD(GetPatch)(THIS_ DWORD *pdwPatch) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicInstrument
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicInstrument methods ***/
STDMETHOD
(
GetPatch
)(
THIS_
DWORD
*
pdwPatch
)
PURE
;
STDMETHOD
(
SetPatch
)(
THIS_
DWORD
dwPatch
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicInstrument
,
IUnknown
)
{
IDirectMusicInstrument_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -506,12 +532,15 @@ DECLARE_INTERFACE_(IDirectMusicInstrument,IUnknown) { IDirectMusicInstrument_MET
/*****************************************************************************
* IDirectMusicDownloadedInstrument interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicDownloadedInstrument
#define IDirectMusicDownloadedInstrument_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicDownloadedInstrument
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/* no IDirectMusicDownloadedInstrument methods at this time */
DECLARE_INTERFACE_
(
IDirectMusicDownloadedInstrument
,
IUnknown
)
{
IDirectMusicDownloadedInstrument_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -527,13 +556,17 @@ DECLARE_INTERFACE_(IDirectMusicDownloadedInstrument,IUnknown) { IDirectMusicDown
/*****************************************************************************
* IDirectMusicCollection interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicCollection
#define IDirectMusicCollection_METHODS \
IUnknown_METHODS \
STDMETHOD(GetInstrument)(THIS_ DWORD dwPatch, IDirectMusicInstrument **ppInstrument) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicCollection
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicCollection methods ***/
STDMETHOD
(
GetInstrument
)(
THIS_
DWORD
dwPatch
,
IDirectMusicInstrument
**
ppInstrument
)
PURE
;
STDMETHOD
(
EnumInstrument
)(
THIS_
DWORD
dwIndex
,
DWORD
*
pdwPatch
,
LPWSTR
pwszName
,
DWORD
dwNameLen
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicCollection
,
IUnknown
)
{
IDirectMusicCollection_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -550,12 +583,16 @@ DECLARE_INTERFACE_(IDirectMusicCollection,IUnknown) { IDirectMusicCollection_MET
/*****************************************************************************
* IDirectMusicDownload interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicDownload
#define IDirectMusicDownload_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicDownload
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicDownload methods ***/
STDMETHOD
(
GetBuffer
)(
THIS_
void
**
ppvBuffer
,
DWORD
*
pdwSize
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicDownload
,
IUnknown
)
{
IDirectMusicDownload_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -571,17 +608,21 @@ DECLARE_INTERFACE_(IDirectMusicDownload,IUnknown) { IDirectMusicDownload_METHODS
/*****************************************************************************
* IDirectMusicPortDownload interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicPortDownload
#define IDirectMusicPortDownload_METHODS \
IUnknown_METHODS \
STDMETHOD(GetBuffer)(THIS_ DWORD dwDLId, IDirectMusicDownload **ppIDMDownload) PURE; \
STDMETHOD(AllocateBuffer)(THIS_ DWORD dwSize, IDirectMusicDownload **ppIDMDownload) PURE; \
STDMETHOD(GetDLId)(THIS_ DWORD *pdwStartDLId, DWORD dwCount) PURE; \
STDMETHOD(GetAppend)(THIS_ DWORD *pdwAppend) PURE; \
STDMETHOD(Download)(THIS_ IDirectMusicDownload *pIDMDownload) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicPortDownload
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicPortDownload methods ***/
STDMETHOD
(
GetBuffer
)(
THIS_
DWORD
dwDLId
,
IDirectMusicDownload
**
ppIDMDownload
)
PURE
;
STDMETHOD
(
AllocateBuffer
)(
THIS_
DWORD
dwSize
,
IDirectMusicDownload
**
ppIDMDownload
)
PURE
;
STDMETHOD
(
GetDLId
)(
THIS_
DWORD
*
pdwStartDLId
,
DWORD
dwCount
)
PURE
;
STDMETHOD
(
GetAppend
)(
THIS_
DWORD
*
pdwAppend
)
PURE
;
STDMETHOD
(
Download
)(
THIS_
IDirectMusicDownload
*
pIDMDownload
)
PURE
;
STDMETHOD
(
Unload
)(
THIS_
IDirectMusicDownload
*
pIDMDownload
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicPortDownload
,
IUnknown
)
{
IDirectMusicPortDownload_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -602,28 +643,32 @@ DECLARE_INTERFACE_(IDirectMusicPortDownload,IUnknown) { IDirectMusicPortDownload
/*****************************************************************************
* IDirectMusicPort interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicPort
#define IDirectMusicPort_METHODS \
IUnknown_METHODS \
STDMETHOD(PlayBuffer)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
STDMETHOD(SetReadNotificationHandle)(THIS_ HANDLE hEvent) PURE; \
STDMETHOD(Read)(THIS_ LPDIRECTMUSICBUFFER pBuffer) PURE; \
STDMETHOD(DownloadInstrument)(THIS_ IDirectMusicInstrument *pInstrument, IDirectMusicDownloadedInstrument **ppDownloadedInstrument, DMUS_NOTERANGE *pNoteRanges, DWORD dwNumNoteRanges) PURE; \
STDMETHOD(UnloadInstrument)(THIS_ IDirectMusicDownloadedInstrument *pDownloadedInstrument) PURE; \
STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
STDMETHOD(GetRunningStats)(THIS_ LPDMUS_SYNTHSTATS pStats) PURE; \
STDMETHOD(Compact)(THIS) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDMUS_PORTCAPS pPortCaps) PURE; \
STDMETHOD(DeviceIoControl)(THIS_ DWORD dwIoControlCode, LPVOID lpInBuffer, DWORD nInBufferSize, LPVOID lpOutBuffer, DWORD nOutBufferSize, LPDWORD lpBytesReturned, LPOVERLAPPED lpOverlapped) PURE; \
STDMETHOD(SetNumChannelGroups)(THIS_ DWORD dwChannelGroups) PURE; \
STDMETHOD(GetNumChannelGroups)(THIS_ LPDWORD pdwChannelGroups) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fActive) PURE; \
STDMETHOD(SetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE; \
STDMETHOD(GetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE; \
STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicPort
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicPort methods ***/
STDMETHOD
(
PlayBuffer
)(
THIS_
LPDIRECTMUSICBUFFER
pBuffer
)
PURE
;
STDMETHOD
(
SetReadNotificationHandle
)(
THIS_
HANDLE
hEvent
)
PURE
;
STDMETHOD
(
Read
)(
THIS_
LPDIRECTMUSICBUFFER
pBuffer
)
PURE
;
STDMETHOD
(
DownloadInstrument
)(
THIS_
IDirectMusicInstrument
*
pInstrument
,
IDirectMusicDownloadedInstrument
**
ppDownloadedInstrument
,
DMUS_NOTERANGE
*
pNoteRanges
,
DWORD
dwNumNoteRanges
)
PURE
;
STDMETHOD
(
UnloadInstrument
)(
THIS_
IDirectMusicDownloadedInstrument
*
pDownloadedInstrument
)
PURE
;
STDMETHOD
(
GetLatencyClock
)(
THIS_
IReferenceClock
**
ppClock
)
PURE
;
STDMETHOD
(
GetRunningStats
)(
THIS_
LPDMUS_SYNTHSTATS
pStats
)
PURE
;
STDMETHOD
(
Compact
)(
THIS
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDMUS_PORTCAPS
pPortCaps
)
PURE
;
STDMETHOD
(
DeviceIoControl
)(
THIS_
DWORD
dwIoControlCode
,
LPVOID
lpInBuffer
,
DWORD
nInBufferSize
,
LPVOID
lpOutBuffer
,
DWORD
nOutBufferSize
,
LPDWORD
lpBytesReturned
,
LPOVERLAPPED
lpOverlapped
)
PURE
;
STDMETHOD
(
SetNumChannelGroups
)(
THIS_
DWORD
dwChannelGroups
)
PURE
;
STDMETHOD
(
GetNumChannelGroups
)(
THIS_
LPDWORD
pdwChannelGroups
)
PURE
;
STDMETHOD
(
Activate
)(
THIS_
BOOL
fActive
)
PURE
;
STDMETHOD
(
SetChannelPriority
)(
THIS_
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
DWORD
dwPriority
)
PURE
;
STDMETHOD
(
GetChannelPriority
)(
THIS_
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
LPDWORD
pdwPriority
)
PURE
;
STDMETHOD
(
SetDirectSound
)(
THIS_
LPDIRECTSOUND
pDirectSound
,
LPDIRECTSOUNDBUFFER
pDirectSoundBuffer
)
PURE
;
STDMETHOD
(
GetFormat
)(
THIS_
LPWAVEFORMATEX
pWaveFormatEx
,
LPDWORD
pdwWaveFormatExSize
,
LPDWORD
pdwBufferSize
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicPort
,
IUnknown
)
{
IDirectMusicPort_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -655,12 +700,16 @@ DECLARE_INTERFACE_(IDirectMusicPort,IUnknown) { IDirectMusicPort_METHODS };
/*****************************************************************************
* IDirectMusicThru interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicThru
#define IDirectMusicThru_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicThru
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicThru methods ***/
STDMETHOD
(
ThruChannel
)(
THIS_
DWORD
dwSourceChannelGroup
,
DWORD
dwSourceChannel
,
DWORD
dwDestinationChannelGroup
,
DWORD
dwDestinationChannel
,
LPDIRECTMUSICPORT
pDestinationPort
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicThru
,
IUnknown
)
{
IDirectMusicThru_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -674,34 +723,39 @@ DECLARE_INTERFACE_(IDirectMusicThru,IUnknown) { IDirectMusicThru_METHODS };
#ifndef __IReferenceClock_INTERFACE_DEFINED__
#define __IReferenceClock_INTERFACE_DEFINED__
DEFINE_GUID
(
IID_IReferenceClock
,
0x56a86897
,
0x0ad4
,
0x11ce
,
0xb0
,
0x3a
,
0x00
,
0x20
,
0xaf
,
0x0b
,
0xa7
,
0x70
);
/*****************************************************************************
* IReferenceClock interface
*/
#undef INTERFACE
#define INTERFACE IReferenceClock
#define IReferenceClock_METHODS \
IUnknown_METHODS \
STDMETHOD(GetTime)(THIS_ REFERENCE_TIME *pTime) PURE; \
STDMETHOD(AdviseTime)(THIS_ REFERENCE_TIME baseTime, REFERENCE_TIME streamTime, HANDLE hEvent, DWORD *pdwAdviseCookie) PURE; \
STDMETHOD(AdvisePeriodic)(THIS_ REFERENCE_TIME startTime, REFERENCE_TIME periodTime, HANDLE hSemaphore, DWORD *pdwAdviseCookie) PURE; \
STDMETHOD(Unadvise)(THIS_ DWORD dwAdviseCookie) PURE;
DECLARE_INTERFACE_
(
IReferenceClock
,
IUnknown
)
{
IReferenceClock_METHODS
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IReferenceClock_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IReferenceClock_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IReferenceClock_Release(p) (p)->lpVtbl->Release(p)
/*** IReferenceClock methods ***/
#define IReferenceClock_GetTime(p,a) (p)->lpVtbl->GetTime(p,a)
#define IReferenceClock_AdviseTime(p,a,b,c,d) (p)->lpVtbl->AdviseTime(p,a,b,c,d)
#define IReferenceClock_AdvisePeriodic(p,a,b,c,d) (p)->lpVtbl->AdvisePeriodic(p,a,b,c,d)
#define IReferenceClock_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
#endif
#define __IReferenceClock_INTERFACE_DEFINED__
DEFINE_GUID
(
IID_IReferenceClock
,
0x56a86897
,
0x0ad4
,
0x11ce
,
0xb0
,
0x3a
,
0x00
,
0x20
,
0xaf
,
0x0b
,
0xa7
,
0x70
);
/*****************************************************************************
* IReferenceClock interface
*/
#define INTERFACE IReferenceClock
DECLARE_INTERFACE_
(
IReferenceClock
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IReferenceClock methods ***/
STDMETHOD
(
GetTime
)(
THIS_
REFERENCE_TIME
*
pTime
)
PURE
;
STDMETHOD
(
AdviseTime
)(
THIS_
REFERENCE_TIME
baseTime
,
REFERENCE_TIME
streamTime
,
HANDLE
hEvent
,
DWORD
*
pdwAdviseCookie
)
PURE
;
STDMETHOD
(
AdvisePeriodic
)(
THIS_
REFERENCE_TIME
startTime
,
REFERENCE_TIME
periodTime
,
HANDLE
hSemaphore
,
DWORD
*
pdwAdviseCookie
)
PURE
;
STDMETHOD
(
Unadvise
)(
THIS_
DWORD
dwAdviseCookie
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
/*** IUnknown methods ***/
#define IReferenceClock_QueryInterface(p,a,b) (p)->lpVtbl->QueryInterface(p,a,b)
#define IReferenceClock_AddRef(p) (p)->lpVtbl->AddRef(p)
#define IReferenceClock_Release(p) (p)->lpVtbl->Release(p)
/*** IReferenceClock methods ***/
#define IReferenceClock_GetTime(p,a) (p)->lpVtbl->GetTime(p,a)
#define IReferenceClock_AdviseTime(p,a,b,c,d) (p)->lpVtbl->AdviseTime(p,a,b,c,d)
#define IReferenceClock_AdvisePeriodic(p,a,b,c,d) (p)->lpVtbl->AdvisePeriodic(p,a,b,c,d)
#define IReferenceClock_Unadvise(p,a) (p)->lpVtbl->Unadvise(p,a)
#endif
#endif
/* __IReferenceClock_INTERFACE_DEFINED__ */
#ifdef __cplusplus
...
...
include/dmusici.h
View file @
5d0160ea
...
...
@@ -789,14 +789,18 @@ struct _DMUS_VARIATIONS_PARAM {
/*****************************************************************************
* IDirectMusicBand interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicBand
#define IDirectMusicBand_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateSegment)(THIS_ IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(Download)(THIS_ IDirectMusicPerformance *pPerformance) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicBand
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicBand methods ***/
STDMETHOD
(
CreateSegment
)(
THIS_
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
Download
)(
THIS_
IDirectMusicPerformance
*
pPerformance
)
PURE
;
STDMETHOD
(
Unload
)(
THIS_
IDirectMusicPerformance
*
pPerformance
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicBand
,
IUnknown
)
{
IDirectMusicBand_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -814,14 +818,18 @@ DECLARE_INTERFACE_(IDirectMusicBand,IUnknown) { IDirectMusicBand_METHODS };
/*****************************************************************************
* IDirectMusicObject interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicObject
#define IDirectMusicObject_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDescriptor)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
STDMETHOD(SetDescriptor)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicObject
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicObject methods ***/
STDMETHOD
(
GetDescriptor
)(
THIS_
LPDMUS_OBJECTDESC
pDesc
)
PURE
;
STDMETHOD
(
SetDescriptor
)(
THIS_
LPDMUS_OBJECTDESC
pDesc
)
PURE
;
STDMETHOD
(
ParseDescriptor
)(
THIS_
LPSTREAM
pStream
,
LPDMUS_OBJECTDESC
pDesc
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicObject
,
IUnknown
)
{
IDirectMusicObject_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -839,20 +847,24 @@ DECLARE_INTERFACE_(IDirectMusicObject,IUnknown) { IDirectMusicObject_METHODS };
/*****************************************************************************
* IDirectMusicLoader interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicLoader
#define IDirectMusicLoader_METHODS \
IUnknown_METHODS \
STDMETHOD(_GetObject)(THIS_ LPDMUS_OBJECTDESC pDesc, REFIID riid, LPVOID *ppv) PURE; \
STDMETHOD(SetObject)(THIS_ LPDMUS_OBJECTDESC pDesc) PURE; \
STDMETHOD(SetSearchDirectory)(THIS_ REFGUID rguidClass, WCHAR *pwzPath, BOOL fClear) PURE; \
STDMETHOD(ScanDirectory)(THIS_ REFGUID rguidClass, WCHAR *pwzFileExtension, WCHAR *pwzScanFileName) PURE; \
STDMETHOD(CacheObject)(THIS_ IDirectMusicObject *pObject) PURE; \
STDMETHOD(ReleaseObject)(THIS_ IDirectMusicObject *pObject) PURE; \
STDMETHOD(ClearCache)(THIS_ REFGUID rguidClass) PURE; \
STDMETHOD(EnableCache)(THIS_ REFGUID rguidClass, BOOL fEnable) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicLoader
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicLoader methods ***/
STDMETHOD
(
_GetObject
)(
THIS_
LPDMUS_OBJECTDESC
pDesc
,
REFIID
riid
,
LPVOID
*
ppv
)
PURE
;
STDMETHOD
(
SetObject
)(
THIS_
LPDMUS_OBJECTDESC
pDesc
)
PURE
;
STDMETHOD
(
SetSearchDirectory
)(
THIS_
REFGUID
rguidClass
,
WCHAR
*
pwzPath
,
BOOL
fClear
)
PURE
;
STDMETHOD
(
ScanDirectory
)(
THIS_
REFGUID
rguidClass
,
WCHAR
*
pwzFileExtension
,
WCHAR
*
pwzScanFileName
)
PURE
;
STDMETHOD
(
CacheObject
)(
THIS_
IDirectMusicObject
*
pObject
)
PURE
;
STDMETHOD
(
ReleaseObject
)(
THIS_
IDirectMusicObject
*
pObject
)
PURE
;
STDMETHOD
(
ClearCache
)(
THIS_
REFGUID
rguidClass
)
PURE
;
STDMETHOD
(
EnableCache
)(
THIS_
REFGUID
rguidClass
,
BOOL
fEnable
)
PURE
;
STDMETHOD
(
EnumObject
)(
THIS_
REFGUID
rguidClass
,
DWORD
dwIndex
,
LPDMUS_OBJECTDESC
pDesc
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicLoader
,
IUnknown
)
{
IDirectMusicLoader_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -876,14 +888,28 @@ DECLARE_INTERFACE_(IDirectMusicLoader,IUnknown) { IDirectMusicLoader_METHODS };
/*****************************************************************************
* IDirectMusicLoader8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicLoader8
#define IDirectMusicLoader8_METHODS \
IDirectMusicLoader_METHODS \
STDMETHOD_(void,CollectGarbage)(THIS) PURE; \
STDMETHOD(ReleaseObjectByUnknown)(THIS_ IUnknown *pObject) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicLoader8
,
IDirectMusicLoader
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicLoader methods ***/
STDMETHOD
(
_GetObject
)(
THIS_
LPDMUS_OBJECTDESC
pDesc
,
REFIID
riid
,
LPVOID
*
ppv
)
PURE
;
STDMETHOD
(
SetObject
)(
THIS_
LPDMUS_OBJECTDESC
pDesc
)
PURE
;
STDMETHOD
(
SetSearchDirectory
)(
THIS_
REFGUID
rguidClass
,
WCHAR
*
pwzPath
,
BOOL
fClear
)
PURE
;
STDMETHOD
(
ScanDirectory
)(
THIS_
REFGUID
rguidClass
,
WCHAR
*
pwzFileExtension
,
WCHAR
*
pwzScanFileName
)
PURE
;
STDMETHOD
(
CacheObject
)(
THIS_
IDirectMusicObject
*
pObject
)
PURE
;
STDMETHOD
(
ReleaseObject
)(
THIS_
IDirectMusicObject
*
pObject
)
PURE
;
STDMETHOD
(
ClearCache
)(
THIS_
REFGUID
rguidClass
)
PURE
;
STDMETHOD
(
EnableCache
)(
THIS_
REFGUID
rguidClass
,
BOOL
fEnable
)
PURE
;
STDMETHOD
(
EnumObject
)(
THIS_
REFGUID
rguidClass
,
DWORD
dwIndex
,
LPDMUS_OBJECTDESC
pDesc
)
PURE
;
/*** IDirectMusicLoader8 methods ***/
STDMETHOD_
(
void
,
CollectGarbage
)(
THIS
)
PURE
;
STDMETHOD
(
ReleaseObjectByUnknown
)(
THIS_
IUnknown
*
pObject
)
PURE
;
STDMETHOD
(
LoadObjectFromFile
)(
THIS_
REFGUID
rguidClassID
,
REFIID
iidInterfaceID
,
WCHAR
*
pwzFilePath
,
void
**
ppObject
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicLoader8
,
IDirectMusicLoader
)
{
IDirectMusicLoader8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -911,12 +937,16 @@ DECLARE_INTERFACE_(IDirectMusicLoader8,IDirectMusicLoader) { IDirectMusicLoader8
/*****************************************************************************
* IDirectMusicGetLoader interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicGetLoader
#define IDirectMusicGetLoader_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicGetLoader
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicGetLoader methods ***/
STDMETHOD
(
GetLoader
)(
THIS_
IDirectMusicLoader
**
ppLoader
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicGetLoader
,
IUnknown
)
{
IDirectMusicGetLoader_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -932,34 +962,38 @@ DECLARE_INTERFACE_(IDirectMusicGetLoader,IUnknown) { IDirectMusicGetLoader_METHO
/*****************************************************************************
* IDirectMusicSegment interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicSegment
#define IDirectMusicSegment_METHODS \
IUnknown_METHODS \
STDMETHOD(GetLength)(THIS_ MUSIC_TIME *pmtLength) PURE; \
STDMETHOD(SetLength)(THIS_ MUSIC_TIME mtLength) PURE; \
STDMETHOD(GetRepeats)(THIS_ DWORD *pdwRepeats) PURE; \
STDMETHOD(SetRepeats)(THIS_ DWORD dwRepeats) PURE; \
STDMETHOD(GetDefaultResolution)(THIS_ DWORD *pdwResolution) PURE; \
STDMETHOD(SetDefaultResolution)(THIS_ DWORD dwResolution) PURE; \
STDMETHOD(GetTrack)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, IDirectMusicTrack **ppTrack) PURE; \
STDMETHOD(GetTrackGroup)(THIS_ IDirectMusicTrack *pTrack, DWORD *pdwGroupBits) PURE; \
STDMETHOD(InsertTrack)(THIS_ IDirectMusicTrack *pTrack, DWORD dwGroupBits) PURE; \
STDMETHOD(RemoveTrack)(THIS_ IDirectMusicTrack *pTrack) PURE; \
STDMETHOD(InitPlay)(THIS_ IDirectMusicSegmentState **ppSegState, IDirectMusicPerformance *pPerformance, DWORD dwFlags) PURE; \
STDMETHOD(GetGraph)(THIS_ IDirectMusicGraph **ppGraph) PURE; \
STDMETHOD(SetGraph)(THIS_ IDirectMusicGraph *pGraph) PURE; \
STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
STDMETHOD(SetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) PURE; \
STDMETHOD(Clone)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(SetStartPoint)(THIS_ MUSIC_TIME mtStart) PURE; \
STDMETHOD(GetStartPoint)(THIS_ MUSIC_TIME *pmtStart) PURE; \
STDMETHOD(SetLoopPoints)(THIS_ MUSIC_TIME mtStart, MUSIC_TIME mtEnd) PURE; \
STDMETHOD(GetLoopPoints)(THIS_ MUSIC_TIME *pmtStart, MUSIC_TIME *pmtEnd) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicSegment
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicSegment methods ***/
STDMETHOD
(
GetLength
)(
THIS_
MUSIC_TIME
*
pmtLength
)
PURE
;
STDMETHOD
(
SetLength
)(
THIS_
MUSIC_TIME
mtLength
)
PURE
;
STDMETHOD
(
GetRepeats
)(
THIS_
DWORD
*
pdwRepeats
)
PURE
;
STDMETHOD
(
SetRepeats
)(
THIS_
DWORD
dwRepeats
)
PURE
;
STDMETHOD
(
GetDefaultResolution
)(
THIS_
DWORD
*
pdwResolution
)
PURE
;
STDMETHOD
(
SetDefaultResolution
)(
THIS_
DWORD
dwResolution
)
PURE
;
STDMETHOD
(
GetTrack
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
IDirectMusicTrack
**
ppTrack
)
PURE
;
STDMETHOD
(
GetTrackGroup
)(
THIS_
IDirectMusicTrack
*
pTrack
,
DWORD
*
pdwGroupBits
)
PURE
;
STDMETHOD
(
InsertTrack
)(
THIS_
IDirectMusicTrack
*
pTrack
,
DWORD
dwGroupBits
)
PURE
;
STDMETHOD
(
RemoveTrack
)(
THIS_
IDirectMusicTrack
*
pTrack
)
PURE
;
STDMETHOD
(
InitPlay
)(
THIS_
IDirectMusicSegmentState
**
ppSegState
,
IDirectMusicPerformance
*
pPerformance
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGraph
)(
THIS_
IDirectMusicGraph
**
ppGraph
)
PURE
;
STDMETHOD
(
SetGraph
)(
THIS_
IDirectMusicGraph
*
pGraph
)
PURE
;
STDMETHOD
(
AddNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
RemoveNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
GetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
PURE
;
STDMETHOD
(
SetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
void
*
pParam
)
PURE
;
STDMETHOD
(
Clone
)(
THIS_
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
SetStartPoint
)(
THIS_
MUSIC_TIME
mtStart
)
PURE
;
STDMETHOD
(
GetStartPoint
)(
THIS_
MUSIC_TIME
*
pmtStart
)
PURE
;
STDMETHOD
(
SetLoopPoints
)(
THIS_
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
)
PURE
;
STDMETHOD
(
GetLoopPoints
)(
THIS_
MUSIC_TIME
*
pmtStart
,
MUSIC_TIME
*
pmtEnd
)
PURE
;
STDMETHOD
(
SetPChannelsUsed
)(
THIS_
DWORD
dwNumPChannels
,
DWORD
*
paPChannels
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicSegment
,
IUnknown
)
{
IDirectMusicSegment_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -997,16 +1031,44 @@ DECLARE_INTERFACE_(IDirectMusicSegment,IUnknown) { IDirectMusicSegment_METHODS }
/*****************************************************************************
* IDirectMusicSegment8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicSegment8
#define IDirectMusicSegment8_METHODS \
IDirectMusicSegment_METHODS \
STDMETHOD(SetTrackConfig)(THIS_ REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) PURE; \
STDMETHOD(GetAudioPathConfig)(THIS_ IUnknown **ppAudioPathConfig) PURE; \
STDMETHOD(Compose)(THIS_ MUSIC_TIME mtTime, IDirectMusicSegment *pFromSegment, IDirectMusicSegment *pToSegment, IDirectMusicSegment **ppComposedSegment) PURE; \
STDMETHOD(Download)(THIS_ IUnknown *pAudioPath) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicSegment8
,
IDirectMusicSegment
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicSegment methods ***/
STDMETHOD
(
GetLength
)(
THIS_
MUSIC_TIME
*
pmtLength
)
PURE
;
STDMETHOD
(
SetLength
)(
THIS_
MUSIC_TIME
mtLength
)
PURE
;
STDMETHOD
(
GetRepeats
)(
THIS_
DWORD
*
pdwRepeats
)
PURE
;
STDMETHOD
(
SetRepeats
)(
THIS_
DWORD
dwRepeats
)
PURE
;
STDMETHOD
(
GetDefaultResolution
)(
THIS_
DWORD
*
pdwResolution
)
PURE
;
STDMETHOD
(
SetDefaultResolution
)(
THIS_
DWORD
dwResolution
)
PURE
;
STDMETHOD
(
GetTrack
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
IDirectMusicTrack
**
ppTrack
)
PURE
;
STDMETHOD
(
GetTrackGroup
)(
THIS_
IDirectMusicTrack
*
pTrack
,
DWORD
*
pdwGroupBits
)
PURE
;
STDMETHOD
(
InsertTrack
)(
THIS_
IDirectMusicTrack
*
pTrack
,
DWORD
dwGroupBits
)
PURE
;
STDMETHOD
(
RemoveTrack
)(
THIS_
IDirectMusicTrack
*
pTrack
)
PURE
;
STDMETHOD
(
InitPlay
)(
THIS_
IDirectMusicSegmentState
**
ppSegState
,
IDirectMusicPerformance
*
pPerformance
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGraph
)(
THIS_
IDirectMusicGraph
**
ppGraph
)
PURE
;
STDMETHOD
(
SetGraph
)(
THIS_
IDirectMusicGraph
*
pGraph
)
PURE
;
STDMETHOD
(
AddNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
RemoveNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
GetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
PURE
;
STDMETHOD
(
SetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
void
*
pParam
)
PURE
;
STDMETHOD
(
Clone
)(
THIS_
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
,
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
SetStartPoint
)(
THIS_
MUSIC_TIME
mtStart
)
PURE
;
STDMETHOD
(
GetStartPoint
)(
THIS_
MUSIC_TIME
*
pmtStart
)
PURE
;
STDMETHOD
(
SetLoopPoints
)(
THIS_
MUSIC_TIME
mtStart
,
MUSIC_TIME
mtEnd
)
PURE
;
STDMETHOD
(
GetLoopPoints
)(
THIS_
MUSIC_TIME
*
pmtStart
,
MUSIC_TIME
*
pmtEnd
)
PURE
;
STDMETHOD
(
SetPChannelsUsed
)(
THIS_
DWORD
dwNumPChannels
,
DWORD
*
paPChannels
)
PURE
;
/*** IDirectMusicSegment8 methods ***/
STDMETHOD
(
SetTrackConfig
)(
THIS_
REFGUID
rguidTrackClassID
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
DWORD
dwFlagsOn
,
DWORD
dwFlagsOff
)
PURE
;
STDMETHOD
(
GetAudioPathConfig
)(
THIS_
IUnknown
**
ppAudioPathConfig
)
PURE
;
STDMETHOD
(
Compose
)(
THIS_
MUSIC_TIME
mtTime
,
IDirectMusicSegment
*
pFromSegment
,
IDirectMusicSegment
*
pToSegment
,
IDirectMusicSegment
**
ppComposedSegment
)
PURE
;
STDMETHOD
(
Download
)(
THIS_
IUnknown
*
pAudioPath
)
PURE
;
STDMETHOD
(
Unload
)(
THIS_
IUnknown
*
pAudioPath
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicSegment8
,
IDirectMusicSegment
)
{
IDirectMusicSegment8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1050,16 +1112,20 @@ DECLARE_INTERFACE_(IDirectMusicSegment8,IDirectMusicSegment) { IDirectMusicSegme
/*****************************************************************************
* IDirectMusicSegmentState interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState
#define IDirectMusicSegmentState_METHODS \
IUnknown_METHODS \
STDMETHOD(GetRepeats)(THIS_ DWORD *pdwRepeats) PURE; \
STDMETHOD(GetSegment)(THIS_ IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(GetStartTime)(THIS_ MUSIC_TIME *pmtStart) PURE; \
STDMETHOD(GetSeek)(THIS_ MUSIC_TIME *pmtSeek) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicSegmentState
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicSegmentState methods ***/
STDMETHOD
(
GetRepeats
)(
THIS_
DWORD
*
pdwRepeats
)
PURE
;
STDMETHOD
(
GetSegment
)(
THIS_
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
GetStartTime
)(
THIS_
MUSIC_TIME
*
pmtStart
)
PURE
;
STDMETHOD
(
GetSeek
)(
THIS_
MUSIC_TIME
*
pmtSeek
)
PURE
;
STDMETHOD
(
GetStartPoint
)(
THIS_
MUSIC_TIME
*
pmtStart
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicSegmentState
,
IUnknown
)
{
IDirectMusicSegmentState_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1079,13 +1145,23 @@ DECLARE_INTERFACE_(IDirectMusicSegmentState,IUnknown) { IDirectMusicSegmentState
/*****************************************************************************
* IDirectMusicSegmentState8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicSegmentState8
#define IDirectMusicSegmentState8_METHODS \
IDirectMusicSegmentState_METHODS \
STDMETHOD(SetTrackConfig)(THIS_ REFGUID rguidTrackClassID, DWORD dwGroupBits, DWORD dwIndex, DWORD dwFlagsOn, DWORD dwFlagsOff) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicSegmentState8
,
IDirectMusicSegmentState
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicSegmentState methods ***/
STDMETHOD
(
GetRepeats
)(
THIS_
DWORD
*
pdwRepeats
)
PURE
;
STDMETHOD
(
GetSegment
)(
THIS_
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
GetStartTime
)(
THIS_
MUSIC_TIME
*
pmtStart
)
PURE
;
STDMETHOD
(
GetSeek
)(
THIS_
MUSIC_TIME
*
pmtSeek
)
PURE
;
STDMETHOD
(
GetStartPoint
)(
THIS_
MUSIC_TIME
*
pmtStart
)
PURE
;
/*** IDirectMusicSegmentState8 methods ***/
STDMETHOD
(
SetTrackConfig
)(
THIS_
REFGUID
rguidTrackClassID
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
DWORD
dwFlagsOn
,
DWORD
dwFlagsOff
)
PURE
;
STDMETHOD
(
GetObjectInPath
)(
THIS_
DWORD
dwPChannel
,
DWORD
dwStage
,
DWORD
dwBuffer
,
REFGUID
guidObject
,
DWORD
dwIndex
,
REFGUID
iidInterface
,
void
**
ppObject
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicSegmentState8
,
IDirectMusicSegmentState
)
{
IDirectMusicSegmentState8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1108,15 +1184,19 @@ DECLARE_INTERFACE_(IDirectMusicSegmentState8,IDirectMusicSegmentState) { IDirect
/*****************************************************************************
* IDirectMusicAudioPath interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicAudioPath
#define IDirectMusicAudioPath_METHODS \
IUnknown_METHODS \
STDMETHOD(GetObjectInPath)(THIS_ DWORD dwPChannel, DWORD dwStage, DWORD dwBuffer, REFGUID guidObject, WORD dwIndex, REFGUID iidInterface, void **ppObject) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fActivate) PURE; \
STDMETHOD(SetVolume)(THIS_ long lVolume, DWORD dwDuration) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicAudioPath
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicAudioPath methods ***/
STDMETHOD
(
GetObjectInPath
)(
THIS_
DWORD
dwPChannel
,
DWORD
dwStage
,
DWORD
dwBuffer
,
REFGUID
guidObject
,
WORD
dwIndex
,
REFGUID
iidInterface
,
void
**
ppObject
)
PURE
;
STDMETHOD
(
Activate
)(
THIS_
BOOL
fActivate
)
PURE
;
STDMETHOD
(
SetVolume
)(
THIS_
long
lVolume
,
DWORD
dwDuration
)
PURE
;
STDMETHOD
(
ConvertPChannel
)(
THIS_
DWORD
dwPChannelIn
,
DWORD
*
pdwPChannelOut
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicAudioPath
,
IUnknown
)
{
IDirectMusicAudioPath_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1135,52 +1215,56 @@ DECLARE_INTERFACE_(IDirectMusicAudioPath,IUnknown) { IDirectMusicAudioPath_METHO
/*****************************************************************************
* IDirectMusicPerformance interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicPerformance
#define IDirectMusicPerformance_METHODS \
IUnknown_METHODS \
STDMETHOD(Init)(THIS_ IDirectMusic **ppDirectMusic, LPDIRECTSOUND pDirectSound, HWND hWnd) PURE; \
STDMETHOD(PlaySegment)(THIS_ IDirectMusicSegment *pSegment, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState) PURE; \
STDMETHOD(Stop)(THIS_ IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegmentState, MUSIC_TIME mtTime, DWORD dwFlags) PURE; \
STDMETHOD(GetSegmentState)(THIS_ IDirectMusicSegmentState **ppSegmentState, MUSIC_TIME mtTime) PURE; \
STDMETHOD(SetPrepareTime)(THIS_ DWORD dwMilliSeconds) PURE; \
STDMETHOD(GetPrepareTime)(THIS_ DWORD *pdwMilliSeconds) PURE; \
STDMETHOD(SetBumperLength)(THIS_ DWORD dwMilliSeconds) PURE; \
STDMETHOD(GetBumperLength)(THIS_ DWORD *pdwMilliSeconds) PURE; \
STDMETHOD(SendPMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
STDMETHOD(MusicToReferenceTime)(THIS_ MUSIC_TIME mtTime, REFERENCE_TIME *prtTime) PURE; \
STDMETHOD(ReferenceToMusicTime)(THIS_ REFERENCE_TIME rtTime, MUSIC_TIME *pmtTime) PURE; \
STDMETHOD(IsPlaying)(THIS_ IDirectMusicSegment *pSegment, IDirectMusicSegmentState *pSegState) PURE; \
STDMETHOD(GetTime)(THIS_ REFERENCE_TIME *prtNow, MUSIC_TIME *pmtNow) PURE; \
STDMETHOD(AllocPMsg)(THIS_ ULONG cb, DMUS_PMSG **ppPMSG) PURE; \
STDMETHOD(FreePMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
STDMETHOD(GetGraph)(THIS_ IDirectMusicGraph **ppGraph) PURE; \
STDMETHOD(SetGraph)(THIS_ IDirectMusicGraph *pGraph) PURE; \
STDMETHOD(SetNotificationHandle)(THIS_ HANDLE hNotification, REFERENCE_TIME rtMinimum) PURE; \
STDMETHOD(GetNotificationPMsg)(THIS_ DMUS_NOTIFICATION_PMSG **ppNotificationPMsg) PURE; \
STDMETHOD(AddNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(RemoveNotificationType)(THIS_ REFGUID rguidNotificationType) PURE; \
STDMETHOD(AddPort)(THIS_ IDirectMusicPort *pPort) PURE; \
STDMETHOD(RemovePort)(THIS_ IDirectMusicPort *pPort) PURE; \
STDMETHOD(AssignPChannelBlock)(THIS_ DWORD dwBlockNum, IDirectMusicPort *pPort, DWORD dwGroup) PURE; \
STDMETHOD(AssignPChannel)(THIS_ DWORD dwPChannel, IDirectMusicPort *pPort, DWORD dwGroup, DWORD dwMChannel) PURE; \
STDMETHOD(PChannelInfo)(THIS_ DWORD dwPChannel, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) PURE; \
STDMETHOD(DownloadInstrument)(THIS_ IDirectMusicInstrument *pInst, DWORD dwPChannel, IDirectMusicDownloadedInstrument **ppDownInst, DMUS_NOTERANGE *pNoteRanges, DWORD dwNumNoteRanges, IDirectMusicPort **ppPort, DWORD *pdwGroup, DWORD *pdwMChannel) PURE; \
STDMETHOD(Invalidate)(THIS_ MUSIC_TIME mtTime, DWORD dwFlags) PURE; \
STDMETHOD(GetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, MUSIC_TIME *pmtNext, void *pParam) PURE; \
STDMETHOD(SetParam)(THIS_ REFGUID rguidType, DWORD dwGroupBits, DWORD dwIndex, MUSIC_TIME mtTime, void *pParam) PURE; \
STDMETHOD(GetGlobalParam)(THIS_ REFGUID rguidType, void *pParam, DWORD dwSize) PURE; \
STDMETHOD(SetGlobalParam)(THIS_ REFGUID rguidType, void *pParam, DWORD dwSize) PURE; \
STDMETHOD(GetLatencyTime)(THIS_ REFERENCE_TIME *prtTime) PURE; \
STDMETHOD(GetQueueTime)(THIS_ REFERENCE_TIME *prtTime) PURE; \
STDMETHOD(AdjustTime)(THIS_ REFERENCE_TIME rtAmount) PURE; \
STDMETHOD(CloseDown)(THIS) PURE; \
STDMETHOD(GetResolvedTime)(THIS_ REFERENCE_TIME rtTime, REFERENCE_TIME *prtResolved, DWORD dwTimeResolveFlags) PURE; \
STDMETHOD(MIDIToMusic)(THIS_ BYTE bMIDIValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, WORD *pwMusicValue) PURE; \
STDMETHOD(MusicToMIDI)(THIS_ WORD wMusicValue, DMUS_CHORD_KEY *pChord, BYTE bPlayMode, BYTE bChordLevel, BYTE *pbMIDIValue) PURE; \
STDMETHOD(TimeToRhythm)(THIS_ MUSIC_TIME mtTime, DMUS_TIMESIGNATURE *pTimeSig, WORD *pwMeasure, BYTE *pbBeat, BYTE *pbGrid, short *pnOffset) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicPerformance
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicPerformance methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusic
**
ppDirectMusic
,
LPDIRECTSOUND
pDirectSound
,
HWND
hWnd
)
PURE
;
STDMETHOD
(
PlaySegment
)(
THIS_
IDirectMusicSegment
*
pSegment
,
DWORD
dwFlags
,
__int64
i64StartTime
,
IDirectMusicSegmentState
**
ppSegmentState
)
PURE
;
STDMETHOD
(
Stop
)(
THIS_
IDirectMusicSegment
*
pSegment
,
IDirectMusicSegmentState
*
pSegmentState
,
MUSIC_TIME
mtTime
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSegmentState
)(
THIS_
IDirectMusicSegmentState
**
ppSegmentState
,
MUSIC_TIME
mtTime
)
PURE
;
STDMETHOD
(
SetPrepareTime
)(
THIS_
DWORD
dwMilliSeconds
)
PURE
;
STDMETHOD
(
GetPrepareTime
)(
THIS_
DWORD
*
pdwMilliSeconds
)
PURE
;
STDMETHOD
(
SetBumperLength
)(
THIS_
DWORD
dwMilliSeconds
)
PURE
;
STDMETHOD
(
GetBumperLength
)(
THIS_
DWORD
*
pdwMilliSeconds
)
PURE
;
STDMETHOD
(
SendPMsg
)(
THIS_
DMUS_PMSG
*
pPMSG
)
PURE
;
STDMETHOD
(
MusicToReferenceTime
)(
THIS_
MUSIC_TIME
mtTime
,
REFERENCE_TIME
*
prtTime
)
PURE
;
STDMETHOD
(
ReferenceToMusicTime
)(
THIS_
REFERENCE_TIME
rtTime
,
MUSIC_TIME
*
pmtTime
)
PURE
;
STDMETHOD
(
IsPlaying
)(
THIS_
IDirectMusicSegment
*
pSegment
,
IDirectMusicSegmentState
*
pSegState
)
PURE
;
STDMETHOD
(
GetTime
)(
THIS_
REFERENCE_TIME
*
prtNow
,
MUSIC_TIME
*
pmtNow
)
PURE
;
STDMETHOD
(
AllocPMsg
)(
THIS_
ULONG
cb
,
DMUS_PMSG
**
ppPMSG
)
PURE
;
STDMETHOD
(
FreePMsg
)(
THIS_
DMUS_PMSG
*
pPMSG
)
PURE
;
STDMETHOD
(
GetGraph
)(
THIS_
IDirectMusicGraph
**
ppGraph
)
PURE
;
STDMETHOD
(
SetGraph
)(
THIS_
IDirectMusicGraph
*
pGraph
)
PURE
;
STDMETHOD
(
SetNotificationHandle
)(
THIS_
HANDLE
hNotification
,
REFERENCE_TIME
rtMinimum
)
PURE
;
STDMETHOD
(
GetNotificationPMsg
)(
THIS_
DMUS_NOTIFICATION_PMSG
**
ppNotificationPMsg
)
PURE
;
STDMETHOD
(
AddNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
RemoveNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
AddPort
)(
THIS_
IDirectMusicPort
*
pPort
)
PURE
;
STDMETHOD
(
RemovePort
)(
THIS_
IDirectMusicPort
*
pPort
)
PURE
;
STDMETHOD
(
AssignPChannelBlock
)(
THIS_
DWORD
dwBlockNum
,
IDirectMusicPort
*
pPort
,
DWORD
dwGroup
)
PURE
;
STDMETHOD
(
AssignPChannel
)(
THIS_
DWORD
dwPChannel
,
IDirectMusicPort
*
pPort
,
DWORD
dwGroup
,
DWORD
dwMChannel
)
PURE
;
STDMETHOD
(
PChannelInfo
)(
THIS_
DWORD
dwPChannel
,
IDirectMusicPort
**
ppPort
,
DWORD
*
pdwGroup
,
DWORD
*
pdwMChannel
)
PURE
;
STDMETHOD
(
DownloadInstrument
)(
THIS_
IDirectMusicInstrument
*
pInst
,
DWORD
dwPChannel
,
IDirectMusicDownloadedInstrument
**
ppDownInst
,
DMUS_NOTERANGE
*
pNoteRanges
,
DWORD
dwNumNoteRanges
,
IDirectMusicPort
**
ppPort
,
DWORD
*
pdwGroup
,
DWORD
*
pdwMChannel
)
PURE
;
STDMETHOD
(
Invalidate
)(
THIS_
MUSIC_TIME
mtTime
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
PURE
;
STDMETHOD
(
SetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
void
*
pParam
)
PURE
;
STDMETHOD
(
GetGlobalParam
)(
THIS_
REFGUID
rguidType
,
void
*
pParam
,
DWORD
dwSize
)
PURE
;
STDMETHOD
(
SetGlobalParam
)(
THIS_
REFGUID
rguidType
,
void
*
pParam
,
DWORD
dwSize
)
PURE
;
STDMETHOD
(
GetLatencyTime
)(
THIS_
REFERENCE_TIME
*
prtTime
)
PURE
;
STDMETHOD
(
GetQueueTime
)(
THIS_
REFERENCE_TIME
*
prtTime
)
PURE
;
STDMETHOD
(
AdjustTime
)(
THIS_
REFERENCE_TIME
rtAmount
)
PURE
;
STDMETHOD
(
CloseDown
)(
THIS
)
PURE
;
STDMETHOD
(
GetResolvedTime
)(
THIS_
REFERENCE_TIME
rtTime
,
REFERENCE_TIME
*
prtResolved
,
DWORD
dwTimeResolveFlags
)
PURE
;
STDMETHOD
(
MIDIToMusic
)(
THIS_
BYTE
bMIDIValue
,
DMUS_CHORD_KEY
*
pChord
,
BYTE
bPlayMode
,
BYTE
bChordLevel
,
WORD
*
pwMusicValue
)
PURE
;
STDMETHOD
(
MusicToMIDI
)(
THIS_
WORD
wMusicValue
,
DMUS_CHORD_KEY
*
pChord
,
BYTE
bPlayMode
,
BYTE
bChordLevel
,
BYTE
*
pbMIDIValue
)
PURE
;
STDMETHOD
(
TimeToRhythm
)(
THIS_
MUSIC_TIME
mtTime
,
DMUS_TIMESIGNATURE
*
pTimeSig
,
WORD
*
pwMeasure
,
BYTE
*
pbBeat
,
BYTE
*
pbGrid
,
short
*
pnOffset
)
PURE
;
STDMETHOD
(
RhythmToTime
)(
THIS_
WORD
wMeasure
,
BYTE
bBeat
,
BYTE
bGrid
,
short
nOffset
,
DMUS_TIMESIGNATURE
*
pTimeSig
,
MUSIC_TIME
*
pmtTime
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicPerformance
,
IUnknown
)
{
IDirectMusicPerformance_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1236,20 +1320,66 @@ DECLARE_INTERFACE_(IDirectMusicPerformance,IUnknown) { IDirectMusicPerformance_M
/*****************************************************************************
* IDirectMusicPerformance8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicPerformance8
#define IDirectMusicPerformance8_METHODS \
IDirectMusicPerformance_METHODS \
STDMETHOD(InitAudio)(THIS_ IDirectMusic **ppDirectMusic, IDirectSound **ppDirectSound, HWND hWnd, DWORD dwDefaultPathType, DWORD dwPChannelCount, DWORD dwFlags, DMUS_AUDIOPARAMS *pParams) PURE; \
STDMETHOD(PlaySegmentEx)(THIS_ IUnknown *pSource, WCHAR *pwzSegmentName, IUnknown *pTransition, DWORD dwFlags, __int64 i64StartTime, IDirectMusicSegmentState **ppSegmentState, IUnknown *pFrom, IUnknown *pAudioPath) PURE; \
STDMETHOD(StopEx)(THIS_ IUnknown *pObjectToStop, __int64 i64StopTime, DWORD dwFlags) PURE; \
STDMETHOD(ClonePMsg)(THIS_ DMUS_PMSG *pSourcePMSG, DMUS_PMSG **ppCopyPMSG) PURE; \
STDMETHOD(CreateAudioPath)(THIS_ IUnknown *pSourceConfig, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) PURE; \
STDMETHOD(CreateStandardAudioPath)(THIS_ DWORD dwType, DWORD dwPChannelCount, BOOL fActivate, IDirectMusicAudioPath **ppNewPath) PURE; \
STDMETHOD(SetDefaultAudioPath)(THIS_ IDirectMusicAudioPath *pAudioPath) PURE; \
STDMETHOD(GetDefaultAudioPath)(THIS_ IDirectMusicAudioPath **ppAudioPath) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicPerformance8
,
IDirectMusicPerformance
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicPerformance methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusic
**
ppDirectMusic
,
LPDIRECTSOUND
pDirectSound
,
HWND
hWnd
)
PURE
;
STDMETHOD
(
PlaySegment
)(
THIS_
IDirectMusicSegment
*
pSegment
,
DWORD
dwFlags
,
__int64
i64StartTime
,
IDirectMusicSegmentState
**
ppSegmentState
)
PURE
;
STDMETHOD
(
Stop
)(
THIS_
IDirectMusicSegment
*
pSegment
,
IDirectMusicSegmentState
*
pSegmentState
,
MUSIC_TIME
mtTime
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSegmentState
)(
THIS_
IDirectMusicSegmentState
**
ppSegmentState
,
MUSIC_TIME
mtTime
)
PURE
;
STDMETHOD
(
SetPrepareTime
)(
THIS_
DWORD
dwMilliSeconds
)
PURE
;
STDMETHOD
(
GetPrepareTime
)(
THIS_
DWORD
*
pdwMilliSeconds
)
PURE
;
STDMETHOD
(
SetBumperLength
)(
THIS_
DWORD
dwMilliSeconds
)
PURE
;
STDMETHOD
(
GetBumperLength
)(
THIS_
DWORD
*
pdwMilliSeconds
)
PURE
;
STDMETHOD
(
SendPMsg
)(
THIS_
DMUS_PMSG
*
pPMSG
)
PURE
;
STDMETHOD
(
MusicToReferenceTime
)(
THIS_
MUSIC_TIME
mtTime
,
REFERENCE_TIME
*
prtTime
)
PURE
;
STDMETHOD
(
ReferenceToMusicTime
)(
THIS_
REFERENCE_TIME
rtTime
,
MUSIC_TIME
*
pmtTime
)
PURE
;
STDMETHOD
(
IsPlaying
)(
THIS_
IDirectMusicSegment
*
pSegment
,
IDirectMusicSegmentState
*
pSegState
)
PURE
;
STDMETHOD
(
GetTime
)(
THIS_
REFERENCE_TIME
*
prtNow
,
MUSIC_TIME
*
pmtNow
)
PURE
;
STDMETHOD
(
AllocPMsg
)(
THIS_
ULONG
cb
,
DMUS_PMSG
**
ppPMSG
)
PURE
;
STDMETHOD
(
FreePMsg
)(
THIS_
DMUS_PMSG
*
pPMSG
)
PURE
;
STDMETHOD
(
GetGraph
)(
THIS_
IDirectMusicGraph
**
ppGraph
)
PURE
;
STDMETHOD
(
SetGraph
)(
THIS_
IDirectMusicGraph
*
pGraph
)
PURE
;
STDMETHOD
(
SetNotificationHandle
)(
THIS_
HANDLE
hNotification
,
REFERENCE_TIME
rtMinimum
)
PURE
;
STDMETHOD
(
GetNotificationPMsg
)(
THIS_
DMUS_NOTIFICATION_PMSG
**
ppNotificationPMsg
)
PURE
;
STDMETHOD
(
AddNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
RemoveNotificationType
)(
THIS_
REFGUID
rguidNotificationType
)
PURE
;
STDMETHOD
(
AddPort
)(
THIS_
IDirectMusicPort
*
pPort
)
PURE
;
STDMETHOD
(
RemovePort
)(
THIS_
IDirectMusicPort
*
pPort
)
PURE
;
STDMETHOD
(
AssignPChannelBlock
)(
THIS_
DWORD
dwBlockNum
,
IDirectMusicPort
*
pPort
,
DWORD
dwGroup
)
PURE
;
STDMETHOD
(
AssignPChannel
)(
THIS_
DWORD
dwPChannel
,
IDirectMusicPort
*
pPort
,
DWORD
dwGroup
,
DWORD
dwMChannel
)
PURE
;
STDMETHOD
(
PChannelInfo
)(
THIS_
DWORD
dwPChannel
,
IDirectMusicPort
**
ppPort
,
DWORD
*
pdwGroup
,
DWORD
*
pdwMChannel
)
PURE
;
STDMETHOD
(
DownloadInstrument
)(
THIS_
IDirectMusicInstrument
*
pInst
,
DWORD
dwPChannel
,
IDirectMusicDownloadedInstrument
**
ppDownInst
,
DMUS_NOTERANGE
*
pNoteRanges
,
DWORD
dwNumNoteRanges
,
IDirectMusicPort
**
ppPort
,
DWORD
*
pdwGroup
,
DWORD
*
pdwMChannel
)
PURE
;
STDMETHOD
(
Invalidate
)(
THIS_
MUSIC_TIME
mtTime
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
PURE
;
STDMETHOD
(
SetParam
)(
THIS_
REFGUID
rguidType
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
void
*
pParam
)
PURE
;
STDMETHOD
(
GetGlobalParam
)(
THIS_
REFGUID
rguidType
,
void
*
pParam
,
DWORD
dwSize
)
PURE
;
STDMETHOD
(
SetGlobalParam
)(
THIS_
REFGUID
rguidType
,
void
*
pParam
,
DWORD
dwSize
)
PURE
;
STDMETHOD
(
GetLatencyTime
)(
THIS_
REFERENCE_TIME
*
prtTime
)
PURE
;
STDMETHOD
(
GetQueueTime
)(
THIS_
REFERENCE_TIME
*
prtTime
)
PURE
;
STDMETHOD
(
AdjustTime
)(
THIS_
REFERENCE_TIME
rtAmount
)
PURE
;
STDMETHOD
(
CloseDown
)(
THIS
)
PURE
;
STDMETHOD
(
GetResolvedTime
)(
THIS_
REFERENCE_TIME
rtTime
,
REFERENCE_TIME
*
prtResolved
,
DWORD
dwTimeResolveFlags
)
PURE
;
STDMETHOD
(
MIDIToMusic
)(
THIS_
BYTE
bMIDIValue
,
DMUS_CHORD_KEY
*
pChord
,
BYTE
bPlayMode
,
BYTE
bChordLevel
,
WORD
*
pwMusicValue
)
PURE
;
STDMETHOD
(
MusicToMIDI
)(
THIS_
WORD
wMusicValue
,
DMUS_CHORD_KEY
*
pChord
,
BYTE
bPlayMode
,
BYTE
bChordLevel
,
BYTE
*
pbMIDIValue
)
PURE
;
STDMETHOD
(
TimeToRhythm
)(
THIS_
MUSIC_TIME
mtTime
,
DMUS_TIMESIGNATURE
*
pTimeSig
,
WORD
*
pwMeasure
,
BYTE
*
pbBeat
,
BYTE
*
pbGrid
,
short
*
pnOffset
)
PURE
;
STDMETHOD
(
RhythmToTime
)(
THIS_
WORD
wMeasure
,
BYTE
bBeat
,
BYTE
bGrid
,
short
nOffset
,
DMUS_TIMESIGNATURE
*
pTimeSig
,
MUSIC_TIME
*
pmtTime
)
PURE
;
/*** IDirectMusicPerformance8 methods ***/
STDMETHOD
(
InitAudio
)(
THIS_
IDirectMusic
**
ppDirectMusic
,
IDirectSound
**
ppDirectSound
,
HWND
hWnd
,
DWORD
dwDefaultPathType
,
DWORD
dwPChannelCount
,
DWORD
dwFlags
,
DMUS_AUDIOPARAMS
*
pParams
)
PURE
;
STDMETHOD
(
PlaySegmentEx
)(
THIS_
IUnknown
*
pSource
,
WCHAR
*
pwzSegmentName
,
IUnknown
*
pTransition
,
DWORD
dwFlags
,
__int64
i64StartTime
,
IDirectMusicSegmentState
**
ppSegmentState
,
IUnknown
*
pFrom
,
IUnknown
*
pAudioPath
)
PURE
;
STDMETHOD
(
StopEx
)(
THIS_
IUnknown
*
pObjectToStop
,
__int64
i64StopTime
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ClonePMsg
)(
THIS_
DMUS_PMSG
*
pSourcePMSG
,
DMUS_PMSG
**
ppCopyPMSG
)
PURE
;
STDMETHOD
(
CreateAudioPath
)(
THIS_
IUnknown
*
pSourceConfig
,
BOOL
fActivate
,
IDirectMusicAudioPath
**
ppNewPath
)
PURE
;
STDMETHOD
(
CreateStandardAudioPath
)(
THIS_
DWORD
dwType
,
DWORD
dwPChannelCount
,
BOOL
fActivate
,
IDirectMusicAudioPath
**
ppNewPath
)
PURE
;
STDMETHOD
(
SetDefaultAudioPath
)(
THIS_
IDirectMusicAudioPath
*
pAudioPath
)
PURE
;
STDMETHOD
(
GetDefaultAudioPath
)(
THIS_
IDirectMusicAudioPath
**
ppAudioPath
)
PURE
;
STDMETHOD
(
GetParamEx
)(
THIS_
REFGUID
rguidType
,
DWORD
dwTrackID
,
DWORD
dwGroupBits
,
DWORD
dwIndex
,
MUSIC_TIME
mtTime
,
MUSIC_TIME
*
pmtNext
,
void
*
pParam
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicPerformance8
,
IDirectMusicPerformance
)
{
IDirectMusicPerformance8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1315,15 +1445,19 @@ DECLARE_INTERFACE_(IDirectMusicPerformance8,IDirectMusicPerformance) { IDirectMu
/*****************************************************************************
* IDirectMusicGraph interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicGraph
#define IDirectMusicGraph_METHODS \
IUnknown_METHODS \
STDMETHOD(StampPMsg)(THIS_ DMUS_PMSG *pPMSG) PURE; \
STDMETHOD(InsertTool)(THIS_ IDirectMusicTool *pTool, DWORD *pdwPChannels, DWORD cPChannels, LONG lIndex) PURE; \
STDMETHOD(GetTool)(THIS_ DWORD dwIndex, IDirectMusicTool **ppTool) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicGraph
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicGraph methods ***/
STDMETHOD
(
StampPMsg
)(
THIS_
DMUS_PMSG
*
pPMSG
)
PURE
;
STDMETHOD
(
InsertTool
)(
THIS_
IDirectMusicTool
*
pTool
,
DWORD
*
pdwPChannels
,
DWORD
cPChannels
,
LONG
lIndex
)
PURE
;
STDMETHOD
(
GetTool
)(
THIS_
DWORD
dwIndex
,
IDirectMusicTool
**
ppTool
)
PURE
;
STDMETHOD
(
RemoveTool
)(
THIS_
IDirectMusicTool
*
pTool
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicGraph
,
IUnknown
)
{
IDirectMusicGraph_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1342,22 +1476,26 @@ DECLARE_INTERFACE_(IDirectMusicGraph,IUnknown) { IDirectMusicGraph_METHODS };
/*****************************************************************************
* IDirectMusicStyle interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicStyle
#define IDirectMusicStyle_METHODS \
IUnknown_METHODS \
STDMETHOD(GetBand)(THIS_ WCHAR *pwszName, IDirectMusicBand **ppBand) PURE; \
STDMETHOD(EnumBand)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(GetDefaultBand)(THIS_ IDirectMusicBand **ppBand) PURE; \
STDMETHOD(EnumMotif)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(GetMotif)(THIS_ WCHAR *pwszName, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(GetDefaultChordMap)(THIS_ IDirectMusicChordMap **ppChordMap) PURE; \
STDMETHOD(EnumChordMap)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
STDMETHOD(GetChordMap)(THIS_ WCHAR *pwszName, IDirectMusicChordMap **ppChordMap) PURE; \
STDMETHOD(GetTimeSignature)(THIS_ DMUS_TIMESIGNATURE *pTimeSig) PURE; \
STDMETHOD(GetEmbellishmentLength)(THIS_ DWORD dwType, DWORD dwLevel, DWORD *pdwMin, DWORD *pdwMax) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicStyle
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicStyle methods ***/
STDMETHOD
(
GetBand
)(
THIS_
WCHAR
*
pwszName
,
IDirectMusicBand
**
ppBand
)
PURE
;
STDMETHOD
(
EnumBand
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
STDMETHOD
(
GetDefaultBand
)(
THIS_
IDirectMusicBand
**
ppBand
)
PURE
;
STDMETHOD
(
EnumMotif
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
STDMETHOD
(
GetMotif
)(
THIS_
WCHAR
*
pwszName
,
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
GetDefaultChordMap
)(
THIS_
IDirectMusicChordMap
**
ppChordMap
)
PURE
;
STDMETHOD
(
EnumChordMap
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
STDMETHOD
(
GetChordMap
)(
THIS_
WCHAR
*
pwszName
,
IDirectMusicChordMap
**
ppChordMap
)
PURE
;
STDMETHOD
(
GetTimeSignature
)(
THIS_
DMUS_TIMESIGNATURE
*
pTimeSig
)
PURE
;
STDMETHOD
(
GetEmbellishmentLength
)(
THIS_
DWORD
dwType
,
DWORD
dwLevel
,
DWORD
*
pdwMin
,
DWORD
*
pdwMax
)
PURE
;
STDMETHOD
(
GetTempo
)(
THIS_
double
*
pTempo
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicStyle
,
IUnknown
)
{
IDirectMusicStyle_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1383,12 +1521,28 @@ DECLARE_INTERFACE_(IDirectMusicStyle,IUnknown) { IDirectMusicStyle_METHODS };
/*****************************************************************************
* IDirectMusicStyle8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicStyle8
#define IDirectMusicStyle8_METHODS \
IDirectMusicStyle_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicStyle8
,
IDirectMusicStyle
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicStyle methods ***/
STDMETHOD
(
GetBand
)(
THIS_
WCHAR
*
pwszName
,
IDirectMusicBand
**
ppBand
)
PURE
;
STDMETHOD
(
EnumBand
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
STDMETHOD
(
GetDefaultBand
)(
THIS_
IDirectMusicBand
**
ppBand
)
PURE
;
STDMETHOD
(
EnumMotif
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
STDMETHOD
(
GetMotif
)(
THIS_
WCHAR
*
pwszName
,
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
GetDefaultChordMap
)(
THIS_
IDirectMusicChordMap
**
ppChordMap
)
PURE
;
STDMETHOD
(
EnumChordMap
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
STDMETHOD
(
GetChordMap
)(
THIS_
WCHAR
*
pwszName
,
IDirectMusicChordMap
**
ppChordMap
)
PURE
;
STDMETHOD
(
GetTimeSignature
)(
THIS_
DMUS_TIMESIGNATURE
*
pTimeSig
)
PURE
;
STDMETHOD
(
GetEmbellishmentLength
)(
THIS_
DWORD
dwType
,
DWORD
dwLevel
,
DWORD
*
pdwMin
,
DWORD
*
pdwMax
)
PURE
;
STDMETHOD
(
GetTempo
)(
THIS_
double
*
pTempo
)
PURE
;
/*** IDirectMusicStyle8 methods ***/
STDMETHOD
(
EnumPattern
)(
THIS_
DWORD
dwIndex
,
DWORD
dwPatternType
,
WCHAR
*
pwszName
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicStyle8
,
IDirectMusicStyle
)
{
IDirectMusicStyle8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1416,12 +1570,16 @@ DECLARE_INTERFACE_(IDirectMusicStyle8,IDirectMusicStyle) { IDirectMusicStyle8_ME
/*****************************************************************************
* IDirectMusicChordMap interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicChordMap
#define IDirectMusicChordMap_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicChordMap
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicChordMap methods ***/
STDMETHOD
(
GetScale
)(
THIS_
DWORD
*
pdwScale
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicChordMap
,
IUnknown
)
{
IDirectMusicChordMap_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1437,17 +1595,21 @@ DECLARE_INTERFACE_(IDirectMusicChordMap,IUnknown) { IDirectMusicChordMap_METHODS
/*****************************************************************************
* IDirectMusicComposer interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicComposer
#define IDirectMusicComposer_METHODS \
IUnknown_METHODS \
STDMETHOD(ComposeSegmentFromTemplate)(THIS_ IDirectMusicStyle *pStyle, IDirectMusicSegment *pTemplate, WORD wActivity, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(ComposeSegmentFromShape)(THIS_ IDirectMusicStyle *pStyle, WORD wNumMeasures, WORD wShape, WORD wActivity, BOOL fIntro, BOOL fEnd, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(ComposeTransition)(THIS_ IDirectMusicSegment *pFromSeg, IDirectMusicSegment *pToSeg, MUSIC_TIME mtTime, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppTransSeg) PURE; \
STDMETHOD(AutoTransition)(THIS_ IDirectMusicPerformance *pPerformance, IDirectMusicSegment *pToSeg, WORD wCommand, DWORD dwFlags, IDirectMusicChordMap *pChordMap, IDirectMusicSegment **ppTransSeg, IDirectMusicSegmentState **ppToSegState, IDirectMusicSegmentState **ppTransSegState) PURE; \
STDMETHOD(ComposeTemplateFromShape)(THIS_ WORD wNumMeasures, WORD wShape, BOOL fIntro, BOOL fEnd, WORD wEndLength, IDirectMusicSegment **ppTemplate) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicComposer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicComposer methods ***/
STDMETHOD
(
ComposeSegmentFromTemplate
)(
THIS_
IDirectMusicStyle
*
pStyle
,
IDirectMusicSegment
*
pTemplate
,
WORD
wActivity
,
IDirectMusicChordMap
*
pChordMap
,
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
ComposeSegmentFromShape
)(
THIS_
IDirectMusicStyle
*
pStyle
,
WORD
wNumMeasures
,
WORD
wShape
,
WORD
wActivity
,
BOOL
fIntro
,
BOOL
fEnd
,
IDirectMusicChordMap
*
pChordMap
,
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
ComposeTransition
)(
THIS_
IDirectMusicSegment
*
pFromSeg
,
IDirectMusicSegment
*
pToSeg
,
MUSIC_TIME
mtTime
,
WORD
wCommand
,
DWORD
dwFlags
,
IDirectMusicChordMap
*
pChordMap
,
IDirectMusicSegment
**
ppTransSeg
)
PURE
;
STDMETHOD
(
AutoTransition
)(
THIS_
IDirectMusicPerformance
*
pPerformance
,
IDirectMusicSegment
*
pToSeg
,
WORD
wCommand
,
DWORD
dwFlags
,
IDirectMusicChordMap
*
pChordMap
,
IDirectMusicSegment
**
ppTransSeg
,
IDirectMusicSegmentState
**
ppToSegState
,
IDirectMusicSegmentState
**
ppTransSegState
)
PURE
;
STDMETHOD
(
ComposeTemplateFromShape
)(
THIS_
WORD
wNumMeasures
,
WORD
wShape
,
BOOL
fIntro
,
BOOL
fEnd
,
WORD
wEndLength
,
IDirectMusicSegment
**
ppTemplate
)
PURE
;
STDMETHOD
(
ChangeChordMap
)(
THIS_
IDirectMusicSegment
*
pSegment
,
BOOL
fTrackScale
,
IDirectMusicChordMap
*
pChordMap
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicComposer
,
IUnknown
)
{
IDirectMusicComposer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1468,14 +1630,18 @@ DECLARE_INTERFACE_(IDirectMusicComposer,IUnknown) { IDirectMusicComposer_METHODS
/*****************************************************************************
* IDirectMusicPatternTrack interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicPatternTrack
#define IDirectMusicPatternTrack_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateSegment)(THIS_ IDirectMusicStyle *pStyle, IDirectMusicSegment **ppSegment) PURE; \
STDMETHOD(SetVariation)(THIS_ IDirectMusicSegmentState *pSegState, DWORD dwVariationFlags, DWORD dwPart) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicPatternTrack
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicPatternTrack methods ***/
STDMETHOD
(
CreateSegment
)(
THIS_
IDirectMusicStyle
*
pStyle
,
IDirectMusicSegment
**
ppSegment
)
PURE
;
STDMETHOD
(
SetVariation
)(
THIS_
IDirectMusicSegmentState
*
pSegState
,
DWORD
dwVariationFlags
,
DWORD
dwPart
)
PURE
;
STDMETHOD
(
SetPatternByName
)(
THIS_
IDirectMusicSegmentState
*
pSegState
,
WCHAR
*
wszName
,
IDirectMusicStyle
*
pStyle
,
DWORD
dwPatternType
,
DWORD
*
pdwLength
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicPatternTrack
,
IUnknown
)
{
IDirectMusicPatternTrack_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1493,21 +1659,25 @@ DECLARE_INTERFACE_(IDirectMusicPatternTrack,IUnknown) { IDirectMusicPatternTrack
/*****************************************************************************
* IDirectMusicScript interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicScript
#define IDirectMusicScript_METHODS \
IUnknown_METHODS \
STDMETHOD(Init)(THIS_ IDirectMusicPerformance *pPerformance, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(CallRoutine)(THIS_ WCHAR *pwszRoutineName, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(SetVariableVariant)(THIS_ WCHAR *pwszVariableName, VARIANT varValue, BOOL fSetRef, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(GetVariableVariant)(THIS_ WCHAR *pwszVariableName, VARIANT *pvarValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(SetVariableNumber)(THIS_ WCHAR *pwszVariableName, LONG lValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(GetVariableNumber)(THIS_ WCHAR *pwszVariableName, LONG *plValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(SetVariableObject)(THIS_ WCHAR *pwszVariableName, IUnknown *punkValue, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(GetVariableObject)(THIS_ WCHAR *pwszVariableName, REFIID riid, LPVOID *ppv, DMUS_SCRIPT_ERRORINFO *pErrorInfo) PURE; \
STDMETHOD(EnumRoutine)(THIS_ DWORD dwIndex, WCHAR *pwszName) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicScript
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicScript methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusicPerformance
*
pPerformance
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
CallRoutine
)(
THIS_
WCHAR
*
pwszRoutineName
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
SetVariableVariant
)(
THIS_
WCHAR
*
pwszVariableName
,
VARIANT
varValue
,
BOOL
fSetRef
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
GetVariableVariant
)(
THIS_
WCHAR
*
pwszVariableName
,
VARIANT
*
pvarValue
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
SetVariableNumber
)(
THIS_
WCHAR
*
pwszVariableName
,
LONG
lValue
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
GetVariableNumber
)(
THIS_
WCHAR
*
pwszVariableName
,
LONG
*
plValue
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
SetVariableObject
)(
THIS_
WCHAR
*
pwszVariableName
,
IUnknown
*
punkValue
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
GetVariableObject
)(
THIS_
WCHAR
*
pwszVariableName
,
REFIID
riid
,
LPVOID
*
ppv
,
DMUS_SCRIPT_ERRORINFO
*
pErrorInfo
)
PURE
;
STDMETHOD
(
EnumRoutine
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
STDMETHOD
(
EnumVariable
)(
THIS_
DWORD
dwIndex
,
WCHAR
*
pwszName
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicScript
,
IUnknown
)
{
IDirectMusicScript_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1532,12 +1702,16 @@ DECLARE_INTERFACE_(IDirectMusicScript,IUnknown) { IDirectMusicScript_METHODS };
/*****************************************************************************
* IDirectMusicContainer interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicContainer
#define IDirectMusicContainer_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectMusicContainer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicContainer methods ***/
STDMETHOD
(
EnumObject
)(
THIS_
REFGUID
rguidClass
,
DWORD
dwIndex
,
LPDMUS_OBJECTDESC
pDesc
,
WCHAR
*
pwszAlias
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicContainer
,
IUnknown
)
{
IDirectMusicContainer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dmusics.h
View file @
5d0160ea
...
...
@@ -73,28 +73,32 @@ struct _DMUS_VOICE_STATE {
/*****************************************************************************
* IDirectMusicSynth interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicSynth
#define IDirectMusicSynth_METHODS \
IUnknown_METHODS \
STDMETHOD(Open)(THIS_ LPDMUS_PORTPARAMS pPortParams) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(SetNumChannelGroups)(THIS_ DWORD dwGroups) PURE; \
STDMETHOD(Download)(THIS_ LPHANDLE phDownload, LPVOID pvData, LPBOOL pbFree) PURE; \
STDMETHOD(Unload)(THIS_ HANDLE hDownload, HRESULT (CALLBACK* lpFreeHandle)(HANDLE,HANDLE), HANDLE hUserData) PURE; \
STDMETHOD(PlayBuffer)(THIS_ REFERENCE_TIME rt, LPBYTE pbBuffer, DWORD cbBuffer) PURE; \
STDMETHOD(GetRunningStats)(THIS_ LPDMUS_SYNTHSTATS pStats) PURE; \
STDMETHOD(GetPortCaps)(THIS_ LPDMUS_PORTCAPS pCaps) PURE; \
STDMETHOD(SetMasterClock)(THIS_ IReferenceClock *pClock) PURE; \
STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(SetSynthSink)(THIS_ IDirectMusicSynthSink *pSynthSink) PURE; \
STDMETHOD(Render)(THIS_ short *pBuffer, DWORD dwLength, LONGLONG llPosition) PURE; \
STDMETHOD(SetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, DWORD dwPriority) PURE; \
STDMETHOD(GetChannelPriority)(THIS_ DWORD dwChannelGroup, DWORD dwChannel, LPDWORD pdwPriority) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX pWaveFormatEx, LPDWORD pdwWaveFormatExSiz) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicSynth
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicSynth methods ***/
STDMETHOD
(
Open
)(
THIS_
LPDMUS_PORTPARAMS
pPortParams
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
SetNumChannelGroups
)(
THIS_
DWORD
dwGroups
)
PURE
;
STDMETHOD
(
Download
)(
THIS_
LPHANDLE
phDownload
,
LPVOID
pvData
,
LPBOOL
pbFree
)
PURE
;
STDMETHOD
(
Unload
)(
THIS_
HANDLE
hDownload
,
HRESULT
(
CALLBACK
*
lpFreeHandle
)(
HANDLE
,
HANDLE
),
HANDLE
hUserData
)
PURE
;
STDMETHOD
(
PlayBuffer
)(
THIS_
REFERENCE_TIME
rt
,
LPBYTE
pbBuffer
,
DWORD
cbBuffer
)
PURE
;
STDMETHOD
(
GetRunningStats
)(
THIS_
LPDMUS_SYNTHSTATS
pStats
)
PURE
;
STDMETHOD
(
GetPortCaps
)(
THIS_
LPDMUS_PORTCAPS
pCaps
)
PURE
;
STDMETHOD
(
SetMasterClock
)(
THIS_
IReferenceClock
*
pClock
)
PURE
;
STDMETHOD
(
GetLatencyClock
)(
THIS_
IReferenceClock
**
ppClock
)
PURE
;
STDMETHOD
(
Activate
)(
THIS_
BOOL
fEnable
)
PURE
;
STDMETHOD
(
SetSynthSink
)(
THIS_
IDirectMusicSynthSink
*
pSynthSink
)
PURE
;
STDMETHOD
(
Render
)(
THIS_
short
*
pBuffer
,
DWORD
dwLength
,
LONGLONG
llPosition
)
PURE
;
STDMETHOD
(
SetChannelPriority
)(
THIS_
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
DWORD
dwPriority
)
PURE
;
STDMETHOD
(
GetChannelPriority
)(
THIS_
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
LPDWORD
pdwPriority
)
PURE
;
STDMETHOD
(
GetFormat
)(
THIS_
LPWAVEFORMATEX
pWaveFormatEx
,
LPDWORD
pdwWaveFormatExSiz
)
PURE
;
STDMETHOD
(
GetAppend
)(
THIS_
DWORD
*
pdwAppend
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicSynth
,
IUnknown
)
{
IDirectMusicSynth_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -126,16 +130,38 @@ DECLARE_INTERFACE_(IDirectMusicSynth,IUnknown) { IDirectMusicSynth_METHODS };
/*****************************************************************************
* IDirectMusicSynth8 interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicSynth8
#define IDirectMusicSynth8_METHODS \
IDirectMusicSynth_METHODS \
STDMETHOD(PlayVoice)(THIS_ REFERENCE_TIME rt, DWORD dwVoiceId, DWORD dwChannelGroup, DWORD dwChannel, DWORD dwDLId, long prPitch, long vrVolume, SAMPLE_TIME stVoiceStart, SAMPLE_TIME stLoopStart, SAMPLE_TIME stLoopEnd) PURE; \
STDMETHOD(StopVoice)(THIS_ REFERENCE_TIME rt, DWORD dwVoiceId) PURE; \
STDMETHOD(GetVoiceState)(THIS_ DWORD dwVoice[], DWORD cbVoice, DMUS_VOICE_STATE dwVoiceState[]) PURE; \
STDMETHOD(Refresh)(THIS_ DWORD dwDownloadID, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicSynth8
,
IDirectMusicSynth
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicSynth methods ***/
STDMETHOD
(
Open
)(
THIS_
LPDMUS_PORTPARAMS
pPortParams
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
SetNumChannelGroups
)(
THIS_
DWORD
dwGroups
)
PURE
;
STDMETHOD
(
Download
)(
THIS_
LPHANDLE
phDownload
,
LPVOID
pvData
,
LPBOOL
pbFree
)
PURE
;
STDMETHOD
(
Unload
)(
THIS_
HANDLE
hDownload
,
HRESULT
(
CALLBACK
*
lpFreeHandle
)(
HANDLE
,
HANDLE
),
HANDLE
hUserData
)
PURE
;
STDMETHOD
(
PlayBuffer
)(
THIS_
REFERENCE_TIME
rt
,
LPBYTE
pbBuffer
,
DWORD
cbBuffer
)
PURE
;
STDMETHOD
(
GetRunningStats
)(
THIS_
LPDMUS_SYNTHSTATS
pStats
)
PURE
;
STDMETHOD
(
GetPortCaps
)(
THIS_
LPDMUS_PORTCAPS
pCaps
)
PURE
;
STDMETHOD
(
SetMasterClock
)(
THIS_
IReferenceClock
*
pClock
)
PURE
;
STDMETHOD
(
GetLatencyClock
)(
THIS_
IReferenceClock
**
ppClock
)
PURE
;
STDMETHOD
(
Activate
)(
THIS_
BOOL
fEnable
)
PURE
;
STDMETHOD
(
SetSynthSink
)(
THIS_
IDirectMusicSynthSink
*
pSynthSink
)
PURE
;
STDMETHOD
(
Render
)(
THIS_
short
*
pBuffer
,
DWORD
dwLength
,
LONGLONG
llPosition
)
PURE
;
STDMETHOD
(
SetChannelPriority
)(
THIS_
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
DWORD
dwPriority
)
PURE
;
STDMETHOD
(
GetChannelPriority
)(
THIS_
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
LPDWORD
pdwPriority
)
PURE
;
STDMETHOD
(
GetFormat
)(
THIS_
LPWAVEFORMATEX
pWaveFormatEx
,
LPDWORD
pdwWaveFormatExSiz
)
PURE
;
STDMETHOD
(
GetAppend
)(
THIS_
DWORD
*
pdwAppend
)
PURE
;
/*** IDirectMusicSynth8 methods ***/
STDMETHOD
(
PlayVoice
)(
THIS_
REFERENCE_TIME
rt
,
DWORD
dwVoiceId
,
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
DWORD
dwDLId
,
long
prPitch
,
long
vrVolume
,
SAMPLE_TIME
stVoiceStart
,
SAMPLE_TIME
stLoopStart
,
SAMPLE_TIME
stLoopEnd
)
PURE
;
STDMETHOD
(
StopVoice
)(
THIS_
REFERENCE_TIME
rt
,
DWORD
dwVoiceId
)
PURE
;
STDMETHOD
(
GetVoiceState
)(
THIS_
DWORD
dwVoice
[],
DWORD
cbVoice
,
DMUS_VOICE_STATE
dwVoiceState
[])
PURE
;
STDMETHOD
(
Refresh
)(
THIS_
DWORD
dwDownloadID
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
AssignChannelToBuses
)(
THIS_
DWORD
dwChannelGroup
,
DWORD
dwChannel
,
LPDWORD
pdwBuses
,
DWORD
cBuses
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicSynth8
,
IDirectMusicSynth
)
{
IDirectMusicSynth8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -173,19 +199,23 @@ DECLARE_INTERFACE_(IDirectMusicSynth8,IDirectMusicSynth) { IDirectMusicSynth8_ME
/*****************************************************************************
* IDirectMusicSynthSink interface
*/
#undef INTERFACE
#define INTERFACE IDirectMusicSynthSink
#define IDirectMusicSynthSink_METHODS \
IUnknown_METHODS \
STDMETHOD(Init)(THIS_ IDirectMusicSynth *pSynth) PURE; \
STDMETHOD(SetMasterClock)(THIS_ IReferenceClock *pClock) PURE; \
STDMETHOD(GetLatencyClock)(THIS_ IReferenceClock **ppClock) PURE; \
STDMETHOD(Activate)(THIS_ BOOL fEnable) PURE; \
STDMETHOD(SampleToRefTime)(THIS_ LONGLONG llSampleTime, REFERENCE_TIME *prfTime) PURE; \
STDMETHOD(RefTimeToSample)(THIS_ REFERENCE_TIME rfTime, LONGLONG *pllSampleTime) PURE; \
STDMETHOD(SetDirectSound)(THIS_ LPDIRECTSOUND pDirectSound, LPDIRECTSOUNDBUFFER pDirectSoundBuffer) PURE; \
DECLARE_INTERFACE_
(
IDirectMusicSynthSink
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectMusicSynthSink methods ***/
STDMETHOD
(
Init
)(
THIS_
IDirectMusicSynth
*
pSynth
)
PURE
;
STDMETHOD
(
SetMasterClock
)(
THIS_
IReferenceClock
*
pClock
)
PURE
;
STDMETHOD
(
GetLatencyClock
)(
THIS_
IReferenceClock
**
ppClock
)
PURE
;
STDMETHOD
(
Activate
)(
THIS_
BOOL
fEnable
)
PURE
;
STDMETHOD
(
SampleToRefTime
)(
THIS_
LONGLONG
llSampleTime
,
REFERENCE_TIME
*
prfTime
)
PURE
;
STDMETHOD
(
RefTimeToSample
)(
THIS_
REFERENCE_TIME
rfTime
,
LONGLONG
*
pllSampleTime
)
PURE
;
STDMETHOD
(
SetDirectSound
)(
THIS_
LPDIRECTSOUND
pDirectSound
,
LPDIRECTSOUNDBUFFER
pDirectSoundBuffer
)
PURE
;
STDMETHOD
(
GetDesiredBufferSize
)(
THIS_
LPDWORD
pdwBufferSizeInSamples
)
PURE
;
DECLARE_INTERFACE_
(
IDirectMusicSynthSink
,
IUnknown
)
{
IDirectMusicSynthSink_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dpaddr.h
View file @
5d0160ea
...
...
@@ -202,28 +202,33 @@ typedef struct IDirectPlay8AddressIP IDirectPlay8AddressIP, *PDIRECTPLAY8A
* IDirectPlay8Address interface
*/
#define INTERFACE IDirectPlay8Address
#define IDirectPlay8Address_METHODS \
IUnknown_METHODS \
STDMETHOD(BuildFromURLW)(THIS_ WCHAR* pwszSourceURL) PURE; \
STDMETHOD(BuildFromURLA)(THIS_ CHAR* pszSourceURL) PURE; \
STDMETHOD(Duplicate)(THIS_ PDIRECTPLAY8ADDRESS* ppdpaNewAddress) PURE; \
STDMETHOD(SetEqual)(THIS_ PDIRECTPLAY8ADDRESS pdpaAddress) PURE; \
STDMETHOD(IsEqual)(THIS_ PDIRECTPLAY8ADDRESS pdpaAddress) PURE; \
STDMETHOD(Clear)(THIS) PURE; \
STDMETHOD(GetURLW)(THIS_ WCHAR* pwszURL, PDWORD pdwNumChars) PURE; \
STDMETHOD(GetURLA)(THIS_ CHAR* pszURL, PDWORD pdwNumChars) PURE; \
STDMETHOD(GetSP)(THIS_ GUID* pguidSP) PURE; \
STDMETHOD(GetUserData)(THIS_ LPVOID pvUserData, PDWORD pdwBufferSize) PURE; \
STDMETHOD(SetSP)(THIS_ CONST GUID* CONST pguidSP) PURE; \
STDMETHOD(SetUserData)(THIS_ CONST void* CONST pvUserData, CONST DWORD dwDataSize) PURE; \
STDMETHOD(GetNumComponents)(THIS_ PDWORD pdwNumComponents) PURE; \
STDMETHOD(GetComponentByName)(THIS_ CONST WCHAR* CONST pwszName, LPVOID pvBuffer, PDWORD pdwBufferSize, PDWORD pdwDataType) PURE; \
STDMETHOD(GetComponentByIndex)(THIS_ CONST DWORD dwComponentID, WCHAR* pwszName, PDWORD pdwNameLen, void* pvBuffer, PDWORD pdwBufferSize, PDWORD pdwDataType) PURE; \
STDMETHOD(AddComponent)(THIS_ CONST WCHAR* CONST pwszName, CONST void* CONST lpvData, CONST DWORD dwDataSize, CONST DWORD dwDataType) PURE; \
STDMETHOD(GetDevice)(THIS_ GUID* pDevGuid) PURE; \
STDMETHOD(SetDevice)(THIS_ CONST GUID* CONST devGuid) PURE; \
STDMETHOD(BuildFromDirectPlay4Address)(THIS_ LPVOID pvAddress, DWORD dwDataSize) PURE;
DECLARE_INTERFACE_
(
IDirectPlay8Address
,
IUnknown
)
{
IDirectPlay8Address_METHODS
};
DECLARE_INTERFACE_
(
IDirectPlay8Address
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay8Address methods ***/
STDMETHOD
(
BuildFromURLW
)(
THIS_
WCHAR
*
pwszSourceURL
)
PURE
;
STDMETHOD
(
BuildFromURLA
)(
THIS_
CHAR
*
pszSourceURL
)
PURE
;
STDMETHOD
(
Duplicate
)(
THIS_
PDIRECTPLAY8ADDRESS
*
ppdpaNewAddress
)
PURE
;
STDMETHOD
(
SetEqual
)(
THIS_
PDIRECTPLAY8ADDRESS
pdpaAddress
)
PURE
;
STDMETHOD
(
IsEqual
)(
THIS_
PDIRECTPLAY8ADDRESS
pdpaAddress
)
PURE
;
STDMETHOD
(
Clear
)(
THIS
)
PURE
;
STDMETHOD
(
GetURLW
)(
THIS_
WCHAR
*
pwszURL
,
PDWORD
pdwNumChars
)
PURE
;
STDMETHOD
(
GetURLA
)(
THIS_
CHAR
*
pszURL
,
PDWORD
pdwNumChars
)
PURE
;
STDMETHOD
(
GetSP
)(
THIS_
GUID
*
pguidSP
)
PURE
;
STDMETHOD
(
GetUserData
)(
THIS_
LPVOID
pvUserData
,
PDWORD
pdwBufferSize
)
PURE
;
STDMETHOD
(
SetSP
)(
THIS_
CONST
GUID
*
CONST
pguidSP
)
PURE
;
STDMETHOD
(
SetUserData
)(
THIS_
CONST
void
*
CONST
pvUserData
,
CONST
DWORD
dwDataSize
)
PURE
;
STDMETHOD
(
GetNumComponents
)(
THIS_
PDWORD
pdwNumComponents
)
PURE
;
STDMETHOD
(
GetComponentByName
)(
THIS_
CONST
WCHAR
*
CONST
pwszName
,
LPVOID
pvBuffer
,
PDWORD
pdwBufferSize
,
PDWORD
pdwDataType
)
PURE
;
STDMETHOD
(
GetComponentByIndex
)(
THIS_
CONST
DWORD
dwComponentID
,
WCHAR
*
pwszName
,
PDWORD
pdwNameLen
,
void
*
pvBuffer
,
PDWORD
pdwBufferSize
,
PDWORD
pdwDataType
)
PURE
;
STDMETHOD
(
AddComponent
)(
THIS_
CONST
WCHAR
*
CONST
pwszName
,
CONST
void
*
CONST
lpvData
,
CONST
DWORD
dwDataSize
,
CONST
DWORD
dwDataType
)
PURE
;
STDMETHOD
(
GetDevice
)(
THIS_
GUID
*
pDevGuid
)
PURE
;
STDMETHOD
(
SetDevice
)(
THIS_
CONST
GUID
*
CONST
devGuid
)
PURE
;
STDMETHOD
(
BuildFromDirectPlay4Address
)(
THIS_
LPVOID
pvAddress
,
DWORD
dwDataSize
)
PURE
;
};
#undef INTERFACE
...
...
@@ -283,15 +288,20 @@ DECLARE_INTERFACE_(IDirectPlay8Address,IUnknown) { IDirectPlay8Address_METHODS }
* IDirectPlay8AddressIP interface
*/
#define INTERFACE IDirectPlay8AddressIP
#define IDirectPlay8AddressIP_METHODS \
IUnknown_METHODS \
STDMETHOD(BuildFromSockAddr)(THIS_ CONST SOCKADDR* CONST pSockAddr) PURE; \
STDMETHOD(BuildAddress)(THIS_ CONST WCHAR* CONST wszAddress, CONST USHORT usPort) PURE; \
STDMETHOD(BuildLocalAddress)(THIS_ CONST GUID* CONST pguidAdapter, CONST USHORT usPort) PURE; \
STDMETHOD(GetSockAddress)(THIS_ SOCKADDR* pSockAddr, PDWORD) PURE; \
STDMETHOD(GetLocalAddress)(THIS_ GUID* pguidAdapter, USHORT* pusPort) PURE; \
STDMETHOD(GetAddress)(THIS_ WCHAR* wszAddress, PDWORD pdwAddressLength, USHORT* psPort) PURE;
DECLARE_INTERFACE_
(
IDirectPlay8AddressIP
,
IUnknown
)
{
IDirectPlay8AddressIP_METHODS
};
DECLARE_INTERFACE_
(
IDirectPlay8AddressIP
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay8AddressIP methods ***/
STDMETHOD
(
BuildFromSockAddr
)(
THIS_
CONST
SOCKADDR
*
CONST
pSockAddr
)
PURE
;
STDMETHOD
(
BuildAddress
)(
THIS_
CONST
WCHAR
*
CONST
wszAddress
,
CONST
USHORT
usPort
)
PURE
;
STDMETHOD
(
BuildLocalAddress
)(
THIS_
CONST
GUID
*
CONST
pguidAdapter
,
CONST
USHORT
usPort
)
PURE
;
STDMETHOD
(
GetSockAddress
)(
THIS_
SOCKADDR
*
pSockAddr
,
PDWORD
)
PURE
;
STDMETHOD
(
GetLocalAddress
)(
THIS_
GUID
*
pguidAdapter
,
USHORT
*
pusPort
)
PURE
;
STDMETHOD
(
GetAddress
)(
THIS_
WCHAR
*
wszAddress
,
PDWORD
pdwAddressLength
,
USHORT
*
psPort
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dplay.h
View file @
5d0160ea
...
...
@@ -420,31 +420,36 @@ typedef BOOL (CALLBACK *LPDPENUMSESSIONSCALLBACK2)(
* IDirectPlay interface
*/
#define INTERFACE IDirectPlay
#define IDirectPlay_METHODS \
IUnknown_METHODS \
STDMETHOD(AddPlayerToGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(CreatePlayer)(THIS_ LPDPID lpidPlayer, LPSTR lpPlayerName, LPSTR, LPHANDLE) PURE; \
STDMETHOD(CreateGroup)(THIS_ LPDPID lpidGroup, LPSTR lpGroupName, LPSTR) PURE; \
STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(DestroyPlayer)(THIS_ DPID idPlayer) PURE; \
STDMETHOD(DestroyGroup)(THIS_ DPID idGroup) PURE; \
STDMETHOD(EnableNewPlayers)(THIS_ BOOL) PURE; \
STDMETHOD(EnumGroupPlayers)(THIS_ DPID idGroup, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumGroups)(THIS_ DWORD, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumPlayers)(THIS_ DWORD, LPDPENUMPLAYERSCALLBACK lpEnumPlayersCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumSessions)(THIS_ LPDPSESSIONDESC lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK lpEnumSessionsCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDPCAPS lpDPCaps) PURE; \
STDMETHOD(GetMessageCount)(THIS_ DPID idPlayer, LPDWORD lpdwCount) PURE; \
STDMETHOD(GetPlayerCaps)(THIS_ DPID idPlayer, LPDPCAPS lpPlayerCaps) PURE; \
STDMETHOD(GetPlayerName)(THIS_ DPID idPlayer, LPSTR, LPDWORD, LPSTR, LPDWORD) PURE; \
STDMETHOD(Initialize)(THIS_ LPGUID lpGUID) PURE; \
STDMETHOD(Open)(THIS_ LPDPSESSIONDESC lpsd) PURE; \
STDMETHOD(Receive)(THIS_ LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(SaveSession)(THIS_ LPSTR) PURE; \
STDMETHOD(Send)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize) PURE; \
DECLARE_INTERFACE_
(
IDirectPlay
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay methods ***/
STDMETHOD
(
AddPlayerToGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
CreatePlayer
)(
THIS_
LPDPID
lpidPlayer
,
LPSTR
lpPlayerName
,
LPSTR
,
LPHANDLE
)
PURE
;
STDMETHOD
(
CreateGroup
)(
THIS_
LPDPID
lpidGroup
,
LPSTR
lpGroupName
,
LPSTR
)
PURE
;
STDMETHOD
(
DeletePlayerFromGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
DestroyPlayer
)(
THIS_
DPID
idPlayer
)
PURE
;
STDMETHOD
(
DestroyGroup
)(
THIS_
DPID
idGroup
)
PURE
;
STDMETHOD
(
EnableNewPlayers
)(
THIS_
BOOL
)
PURE
;
STDMETHOD
(
EnumGroupPlayers
)(
THIS_
DPID
idGroup
,
LPDPENUMPLAYERSCALLBACK
lpEnumPlayersCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroups
)(
THIS_
DWORD
,
LPDPENUMPLAYERSCALLBACK
lpEnumPlayersCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumPlayers
)(
THIS_
DWORD
,
LPDPENUMPLAYERSCALLBACK
lpEnumPlayersCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumSessions
)(
THIS_
LPDPSESSIONDESC
lpsd
,
DWORD
dwTimeout
,
LPDPENUMSESSIONSCALLBACK
lpEnumSessionsCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDPCAPS
lpDPCaps
)
PURE
;
STDMETHOD
(
GetMessageCount
)(
THIS_
DPID
idPlayer
,
LPDWORD
lpdwCount
)
PURE
;
STDMETHOD
(
GetPlayerCaps
)(
THIS_
DPID
idPlayer
,
LPDPCAPS
lpPlayerCaps
)
PURE
;
STDMETHOD
(
GetPlayerName
)(
THIS_
DPID
idPlayer
,
LPSTR
,
LPDWORD
,
LPSTR
,
LPDWORD
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPGUID
lpGUID
)
PURE
;
STDMETHOD
(
Open
)(
THIS_
LPDPSESSIONDESC
lpsd
)
PURE
;
STDMETHOD
(
Receive
)(
THIS_
LPDPID
lpidFrom
,
LPDPID
lpidTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
SaveSession
)(
THIS_
LPSTR
)
PURE
;
STDMETHOD
(
Send
)(
THIS_
DPID
idFrom
,
DPID
idTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
DWORD
dwDataSize
)
PURE
;
STDMETHOD
(
SetPlayerName
)(
THIS_
DPID
idPlayer
,
LPSTR
lpPlayerName
,
LPSTR
)
PURE
;
DECLARE_INTERFACE_
(
IDirectPlay
,
IUnknown
)
{
IDirectPlay_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -510,38 +515,43 @@ DECLARE_INTERFACE_(IDirectPlay,IUnknown) { IDirectPlay_METHODS };
* IDirectPlay2 and IDirectPlay2A interface
*/
#define INTERFACE IDirectPlay2
#define IDirectPlay2_METHODS \
IUnknown_METHODS \
STDMETHOD(AddPlayerToGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(CreateGroup)(THIS_ LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(CreatePlayer)(THIS_ LPDPID lpidPlayer, LPDPNAME lpPlayerName, HANDLE hEvent, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(DeletePlayerFromGroup)(THIS_ DPID idGroup, DPID idPlayer) PURE; \
STDMETHOD(DestroyGroup)(THIS_ DPID idGroup) PURE; \
STDMETHOD(DestroyPlayer)(THIS_ DPID idPlayer) PURE; \
STDMETHOD(EnumGroupPlayers)(THIS_ DPID idGroup, LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumGroups)(THIS_ LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumPlayers)(THIS_ LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumPlayersCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumSessions)(THIS_ LPDPSESSIONDESC2 lpsd, DWORD dwTimeout, LPDPENUMSESSIONSCALLBACK2 lpEnumSessionsCallback2, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDPCAPS lpDPCaps, DWORD dwFlags) PURE; \
STDMETHOD(GetGroupData)(THIS_ DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(GetGroupName)(THIS_ DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(GetMessageCount)(THIS_ DPID idPlayer, LPDWORD lpdwCount) PURE; \
STDMETHOD(GetPlayerAddress)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(GetPlayerCaps)(THIS_ DPID idPlayer, LPDPCAPS lpPlayerCaps, DWORD dwFlags) PURE; \
STDMETHOD(GetPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(GetPlayerName)(THIS_ DPID idPlayer, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(GetSessionDesc)(THIS_ LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(Initialize)(THIS_ LPGUID lpGUID) PURE; \
STDMETHOD(Open)(THIS_ LPDPSESSIONDESC2 lpsd, DWORD dwFlags) PURE; \
STDMETHOD(Receive)(THIS_ LPDPID lpidFrom, LPDPID lpidTo, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(Send)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPVOID lpData, DWORD dwDataSize) PURE; \
STDMETHOD(SetGroupData)(THIS_ DPID idGroup, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(SetGroupName)(THIS_ DPID idGroup, LPDPNAME lpGroupName, DWORD dwFlags) PURE; \
STDMETHOD(SetPlayerData)(THIS_ DPID idPlayer, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(SetPlayerName)(THIS_ DPID idPlayer, LPDPNAME lpPlayerName, DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDirectPlay2
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay2 methods ***/
STDMETHOD
(
AddPlayerToGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
CreateGroup
)(
THIS_
LPDPID
lpidGroup
,
LPDPNAME
lpGroupName
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CreatePlayer
)(
THIS_
LPDPID
lpidPlayer
,
LPDPNAME
lpPlayerName
,
HANDLE
hEvent
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DeletePlayerFromGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
DestroyGroup
)(
THIS_
DPID
idGroup
)
PURE
;
STDMETHOD
(
DestroyPlayer
)(
THIS_
DPID
idPlayer
)
PURE
;
STDMETHOD
(
EnumGroupPlayers
)(
THIS_
DPID
idGroup
,
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroups
)(
THIS_
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumPlayers
)(
THIS_
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumSessions
)(
THIS_
LPDPSESSIONDESC2
lpsd
,
DWORD
dwTimeout
,
LPDPENUMSESSIONSCALLBACK2
lpEnumSessionsCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDPCAPS
lpDPCaps
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupData
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupName
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetMessageCount
)(
THIS_
DPID
idPlayer
,
LPDWORD
lpdwCount
)
PURE
;
STDMETHOD
(
GetPlayerAddress
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetPlayerCaps
)(
THIS_
DPID
idPlayer
,
LPDPCAPS
lpPlayerCaps
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerData
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerName
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetSessionDesc
)(
THIS_
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPGUID
lpGUID
)
PURE
;
STDMETHOD
(
Open
)(
THIS_
LPDPSESSIONDESC2
lpsd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Receive
)(
THIS_
LPDPID
lpidFrom
,
LPDPID
lpidTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
Send
)(
THIS_
DPID
idFrom
,
DPID
idTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
DWORD
dwDataSize
)
PURE
;
STDMETHOD
(
SetGroupData
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetGroupName
)(
THIS_
DPID
idGroup
,
LPDPNAME
lpGroupName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetPlayerData
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetPlayerName
)(
THIS_
DPID
idPlayer
,
LPDPNAME
lpPlayerName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetSessionDesc
)(
THIS_
LPDPSESSIONDESC2
lpSessDesc
,
DWORD
dwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirectPlay2
,
IUnknown
)
{
IDirectPlay2_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -621,24 +631,59 @@ DECLARE_INTERFACE_(IDirectPlay2,IUnknown) { IDirectPlay2_METHODS };
* IDirectPlay3 and IDirectPlay3A interface
*/
#define INTERFACE IDirectPlay3
#define IDirectPlay3_METHODS \
IDirectPlay2_METHODS \
STDMETHOD(AddGroupToGroup)(THIS_ DPID idParentGroup, DPID idGroup) PURE; \
STDMETHOD(CreateGroupInGroup)(THIS_ DPID idParentGroup, LPDPID lpidGroup, LPDPNAME lpGroupName, LPVOID lpData, DWORD dwDataSize, DWORD dwFlags) PURE; \
STDMETHOD(DeleteGroupFromGroup)(THIS_ DPID idParentGroup, DPID idGroup) PURE; \
STDMETHOD(EnumConnections)(THIS_ LPCGUID lpguidApplication, LPDPENUMCONNECTIONSCALLBACK lpEnumCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(EnumGroupsInGroup)(THIS_ DPID idGroup, LPGUID lpguidInstance, LPDPENUMPLAYERSCALLBACK2 lpEnumCallback, LPVOID lpContext, DWORD dwFlags) PURE; \
STDMETHOD(GetGroupConnectionSettings)(THIS_ DWORD dwFlags, DPID idGroup, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
STDMETHOD(InitializeConnection)(THIS_ LPVOID lpConnection, DWORD dwFlags) PURE; \
STDMETHOD(SecureOpen)(THIS_ LPCDPSESSIONDESC2 lpsd, DWORD dwFlags, LPCDPSECURITYDESC lpSecurity, LPCDPCREDENTIALS lpCredentials) PURE; \
STDMETHOD(SendChatMessage)(THIS_ DPID idFrom, DPID idTo, DWORD dwFlags, LPDPCHAT lpChatMessage) PURE; \
STDMETHOD(SetGroupConnectionSettings)(THIS_ DWORD dwFlags, DPID idGroup, LPDPLCONNECTION lpConnection) PURE; \
STDMETHOD(StartSession)(THIS_ DWORD dwFlags, DPID idGroup) PURE; \
STDMETHOD(GetGroupFlags)(THIS_ DPID idGroup, LPDWORD lpdwFlags) PURE; \
STDMETHOD(GetGroupParent)(THIS_ DPID idGroup, LPDPID lpidParent) PURE; \
STDMETHOD(GetPlayerAccount)(THIS_ DPID idPlayer, DWORD dwFlags, LPVOID lpData, LPDWORD lpdwDataSize) PURE; \
DECLARE_INTERFACE_
(
IDirectPlay3
,
IDirectPlay2
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay2 methods ***/
STDMETHOD
(
AddPlayerToGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
CreateGroup
)(
THIS_
LPDPID
lpidGroup
,
LPDPNAME
lpGroupName
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CreatePlayer
)(
THIS_
LPDPID
lpidPlayer
,
LPDPNAME
lpPlayerName
,
HANDLE
hEvent
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DeletePlayerFromGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
DestroyGroup
)(
THIS_
DPID
idGroup
)
PURE
;
STDMETHOD
(
DestroyPlayer
)(
THIS_
DPID
idPlayer
)
PURE
;
STDMETHOD
(
EnumGroupPlayers
)(
THIS_
DPID
idGroup
,
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroups
)(
THIS_
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumPlayers
)(
THIS_
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumSessions
)(
THIS_
LPDPSESSIONDESC2
lpsd
,
DWORD
dwTimeout
,
LPDPENUMSESSIONSCALLBACK2
lpEnumSessionsCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDPCAPS
lpDPCaps
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupData
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupName
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetMessageCount
)(
THIS_
DPID
idPlayer
,
LPDWORD
lpdwCount
)
PURE
;
STDMETHOD
(
GetPlayerAddress
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetPlayerCaps
)(
THIS_
DPID
idPlayer
,
LPDPCAPS
lpPlayerCaps
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerData
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerName
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetSessionDesc
)(
THIS_
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPGUID
lpGUID
)
PURE
;
STDMETHOD
(
Open
)(
THIS_
LPDPSESSIONDESC2
lpsd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Receive
)(
THIS_
LPDPID
lpidFrom
,
LPDPID
lpidTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
Send
)(
THIS_
DPID
idFrom
,
DPID
idTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
DWORD
dwDataSize
)
PURE
;
STDMETHOD
(
SetGroupData
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetGroupName
)(
THIS_
DPID
idGroup
,
LPDPNAME
lpGroupName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetPlayerData
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetPlayerName
)(
THIS_
DPID
idPlayer
,
LPDPNAME
lpPlayerName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetSessionDesc
)(
THIS_
LPDPSESSIONDESC2
lpSessDesc
,
DWORD
dwFlags
)
PURE
;
/*** IDirectPlay3 methods ***/
STDMETHOD
(
AddGroupToGroup
)(
THIS_
DPID
idParentGroup
,
DPID
idGroup
)
PURE
;
STDMETHOD
(
CreateGroupInGroup
)(
THIS_
DPID
idParentGroup
,
LPDPID
lpidGroup
,
LPDPNAME
lpGroupName
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DeleteGroupFromGroup
)(
THIS_
DPID
idParentGroup
,
DPID
idGroup
)
PURE
;
STDMETHOD
(
EnumConnections
)(
THIS_
LPCGUID
lpguidApplication
,
LPDPENUMCONNECTIONSCALLBACK
lpEnumCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroupsInGroup
)(
THIS_
DPID
idGroup
,
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupConnectionSettings
)(
THIS_
DWORD
dwFlags
,
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
InitializeConnection
)(
THIS_
LPVOID
lpConnection
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SecureOpen
)(
THIS_
LPCDPSESSIONDESC2
lpsd
,
DWORD
dwFlags
,
LPCDPSECURITYDESC
lpSecurity
,
LPCDPCREDENTIALS
lpCredentials
)
PURE
;
STDMETHOD
(
SendChatMessage
)(
THIS_
DPID
idFrom
,
DPID
idTo
,
DWORD
dwFlags
,
LPDPCHAT
lpChatMessage
)
PURE
;
STDMETHOD
(
SetGroupConnectionSettings
)(
THIS_
DWORD
dwFlags
,
DPID
idGroup
,
LPDPLCONNECTION
lpConnection
)
PURE
;
STDMETHOD
(
StartSession
)(
THIS_
DWORD
dwFlags
,
DPID
idGroup
)
PURE
;
STDMETHOD
(
GetGroupFlags
)(
THIS_
DPID
idGroup
,
LPDWORD
lpdwFlags
)
PURE
;
STDMETHOD
(
GetGroupParent
)(
THIS_
DPID
idGroup
,
LPDPID
lpidParent
)
PURE
;
STDMETHOD
(
GetPlayerAccount
)(
THIS_
DPID
idPlayer
,
DWORD
dwFlags
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetPlayerFlags
)(
THIS_
DPID
idPlayer
,
LPDWORD
lpdwFlags
)
PURE
;
DECLARE_INTERFACE_
(
IDirectPlay3
,
IDirectPlay2
)
{
IDirectPlay3_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -749,15 +794,66 @@ DECLARE_INTERFACE_(IDirectPlay3,IDirectPlay2) { IDirectPlay3_METHODS };
* IDirectPlay4 and IDirectPlay4A interface
*/
#define INTERFACE IDirectPlay4
#define IDirectPlay4_METHODS \
IDirectPlay3_METHODS \
STDMETHOD(GetGroupOwner)(THIS_ DPID , LPDPID ) PURE; \
STDMETHOD(SetGroupOwner)(THIS_ DPID , DPID ) PURE; \
STDMETHOD(SendEx)(THIS_ DPID , DPID , DWORD , LPVOID , DWORD , DWORD , DWORD , LPVOID , LPDWORD ) PURE; \
STDMETHOD(GetMessageQueue)(THIS_ DPID , DPID , DWORD , LPDWORD , LPDWORD ) PURE; \
STDMETHOD(CancelMessage)(THIS_ DWORD , DWORD ) PURE; \
DECLARE_INTERFACE_
(
IDirectPlay4
,
IDirectPlay3
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay2 methods ***/
STDMETHOD
(
AddPlayerToGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
CreateGroup
)(
THIS_
LPDPID
lpidGroup
,
LPDPNAME
lpGroupName
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CreatePlayer
)(
THIS_
LPDPID
lpidPlayer
,
LPDPNAME
lpPlayerName
,
HANDLE
hEvent
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DeletePlayerFromGroup
)(
THIS_
DPID
idGroup
,
DPID
idPlayer
)
PURE
;
STDMETHOD
(
DestroyGroup
)(
THIS_
DPID
idGroup
)
PURE
;
STDMETHOD
(
DestroyPlayer
)(
THIS_
DPID
idPlayer
)
PURE
;
STDMETHOD
(
EnumGroupPlayers
)(
THIS_
DPID
idGroup
,
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroups
)(
THIS_
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumPlayers
)(
THIS_
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumPlayersCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumSessions
)(
THIS_
LPDPSESSIONDESC2
lpsd
,
DWORD
dwTimeout
,
LPDPENUMSESSIONSCALLBACK2
lpEnumSessionsCallback2
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDPCAPS
lpDPCaps
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupData
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupName
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetMessageCount
)(
THIS_
DPID
idPlayer
,
LPDWORD
lpdwCount
)
PURE
;
STDMETHOD
(
GetPlayerAddress
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetPlayerCaps
)(
THIS_
DPID
idPlayer
,
LPDPCAPS
lpPlayerCaps
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerData
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerName
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetSessionDesc
)(
THIS_
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPGUID
lpGUID
)
PURE
;
STDMETHOD
(
Open
)(
THIS_
LPDPSESSIONDESC2
lpsd
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Receive
)(
THIS_
LPDPID
lpidFrom
,
LPDPID
lpidTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
Send
)(
THIS_
DPID
idFrom
,
DPID
idTo
,
DWORD
dwFlags
,
LPVOID
lpData
,
DWORD
dwDataSize
)
PURE
;
STDMETHOD
(
SetGroupData
)(
THIS_
DPID
idGroup
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetGroupName
)(
THIS_
DPID
idGroup
,
LPDPNAME
lpGroupName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetPlayerData
)(
THIS_
DPID
idPlayer
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetPlayerName
)(
THIS_
DPID
idPlayer
,
LPDPNAME
lpPlayerName
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetSessionDesc
)(
THIS_
LPDPSESSIONDESC2
lpSessDesc
,
DWORD
dwFlags
)
PURE
;
/*** IDirectPlay3 methods ***/
STDMETHOD
(
AddGroupToGroup
)(
THIS_
DPID
idParentGroup
,
DPID
idGroup
)
PURE
;
STDMETHOD
(
CreateGroupInGroup
)(
THIS_
DPID
idParentGroup
,
LPDPID
lpidGroup
,
LPDPNAME
lpGroupName
,
LPVOID
lpData
,
DWORD
dwDataSize
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DeleteGroupFromGroup
)(
THIS_
DPID
idParentGroup
,
DPID
idGroup
)
PURE
;
STDMETHOD
(
EnumConnections
)(
THIS_
LPCGUID
lpguidApplication
,
LPDPENUMCONNECTIONSCALLBACK
lpEnumCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroupsInGroup
)(
THIS_
DPID
idGroup
,
LPGUID
lpguidInstance
,
LPDPENUMPLAYERSCALLBACK2
lpEnumCallback
,
LPVOID
lpContext
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupConnectionSettings
)(
THIS_
DWORD
dwFlags
,
DPID
idGroup
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
InitializeConnection
)(
THIS_
LPVOID
lpConnection
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SecureOpen
)(
THIS_
LPCDPSESSIONDESC2
lpsd
,
DWORD
dwFlags
,
LPCDPSECURITYDESC
lpSecurity
,
LPCDPCREDENTIALS
lpCredentials
)
PURE
;
STDMETHOD
(
SendChatMessage
)(
THIS_
DPID
idFrom
,
DPID
idTo
,
DWORD
dwFlags
,
LPDPCHAT
lpChatMessage
)
PURE
;
STDMETHOD
(
SetGroupConnectionSettings
)(
THIS_
DWORD
dwFlags
,
DPID
idGroup
,
LPDPLCONNECTION
lpConnection
)
PURE
;
STDMETHOD
(
StartSession
)(
THIS_
DWORD
dwFlags
,
DPID
idGroup
)
PURE
;
STDMETHOD
(
GetGroupFlags
)(
THIS_
DPID
idGroup
,
LPDWORD
lpdwFlags
)
PURE
;
STDMETHOD
(
GetGroupParent
)(
THIS_
DPID
idGroup
,
LPDPID
lpidParent
)
PURE
;
STDMETHOD
(
GetPlayerAccount
)(
THIS_
DPID
idPlayer
,
DWORD
dwFlags
,
LPVOID
lpData
,
LPDWORD
lpdwDataSize
)
PURE
;
STDMETHOD
(
GetPlayerFlags
)(
THIS_
DPID
idPlayer
,
LPDWORD
lpdwFlags
)
PURE
;
/*** IDirectPlay4 methods ***/
STDMETHOD
(
GetGroupOwner
)(
THIS_
DPID
,
LPDPID
)
PURE
;
STDMETHOD
(
SetGroupOwner
)(
THIS_
DPID
,
DPID
)
PURE
;
STDMETHOD
(
SendEx
)(
THIS_
DPID
,
DPID
,
DWORD
,
LPVOID
,
DWORD
,
DWORD
,
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
GetMessageQueue
)(
THIS_
DPID
,
DPID
,
DWORD
,
LPDWORD
,
LPDWORD
)
PURE
;
STDMETHOD
(
CancelMessage
)(
THIS_
DWORD
,
DWORD
)
PURE
;
STDMETHOD
(
CancelPriority
)(
THIS_
DWORD
,
DWORD
,
DWORD
)
PURE
;
DECLARE_INTERFACE_
(
IDirectPlay4
,
IDirectPlay3
)
{
IDirectPlay4_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dplay8.h
View file @
5d0160ea
...
...
@@ -481,28 +481,33 @@ typedef struct IDirectPlay8LobbiedApplication *PIDirectPlay8LobbiedApplication,
* IDirectPlay8Client interface
*/
#define INTERFACE IDirectPlay8Client
#define IDirectPlay8Client_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ PVOID CONST pvUserContext, CONST PFNDPNMESSAGEHANDLER pfn, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumServiceProviders)(THIS_ CONST GUID * CONST pguidServiceProvider, CONST GUID * CONST pguidApplication, DPN_SERVICE_PROVIDER_INFO * CONST pSPInfoBuffer, PDWORD CONST pcbEnumData, PDWORD CONST pcReturned, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumHosts)(THIS_ PDPN_APPLICATION_DESC CONST pApplicationDesc,IDirectPlay8Address * CONST pAddrHost,IDirectPlay8Address * CONST pDeviceInfo, PVOID CONST pUserEnumData, CONST DWORD dwUserEnumDataSize, CONST DWORD dwEnumCount, CONST DWORD dwRetryInterval, CONST DWORD dwTimeOut, PVOID CONST pvUserContext, DPNHANDLE * CONST pAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(CancelAsyncOperation)(THIS_ CONST DPNHANDLE hAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(Connect)(THIS_ CONST DPN_APPLICATION_DESC * CONST pdnAppDesc,IDirectPlay8Address * CONST pHostAddr,IDirectPlay8Address * CONST pDeviceInfo, CONST DPN_SECURITY_DESC * CONST pdnSecurity, CONST DPN_SECURITY_CREDENTIALS * CONST pdnCredentials, CONST void * CONST pvUserConnectData, CONST DWORD dwUserConnectDataSize,void * CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(Send)(THIS_ CONST DPN_BUFFER_DESC * CONST prgBufferDesc, CONST DWORD cBufferDesc, CONST DWORD dwTimeOut, void * CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetSendQueueInfo)(THIS_ DWORD * CONST pdwNumMsgs, DWORD * CONST pdwNumBytes, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetApplicationDesc)(THIS_ DPN_APPLICATION_DESC * CONST pAppDescBuffer, DWORD * CONST pcbDataSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetClientInfo)(THIS_ CONST DPN_PLAYER_INFO * CONST pdpnPlayerInfo, PVOID CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetServerInfo)(THIS_ DPN_PLAYER_INFO * CONST pdpnPlayerInfo, DWORD * CONST pdwSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetServerAddress)(THIS_ IDirectPlay8Address ** CONST pAddress, CONST DWORD dwFlags) PURE; \
STDMETHOD(Close)(THIS_ CONST DWORD dwFlags) PURE; \
STDMETHOD(ReturnBuffer)(THIS_ CONST DPNHANDLE hBufferHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetCaps)(THIS_ CONST DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetSPCaps)(THIS_ CONST GUID * CONST pguidSP, CONST DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags ) PURE; \
STDMETHOD(GetSPCaps)(THIS_ CONST GUID * CONST pguidSP, DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetConnectionInfo)(THIS_ DPN_CONNECTION_INFO * CONST pdpConnectionInfo, CONST DWORD dwFlags) PURE; \
STDMETHOD(RegisterLobby)(THIS_ CONST DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication * CONST pIDP8LobbiedApplication, CONST DWORD dwFlags) PURE;
DECLARE_INTERFACE_
(
IDirectPlay8Client
,
IUnknown
)
{
IDirectPlay8Client_METHODS
};
DECLARE_INTERFACE_
(
IDirectPlay8Client
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay8Client methods ***/
STDMETHOD
(
Initialize
)(
THIS_
PVOID
CONST
pvUserContext
,
CONST
PFNDPNMESSAGEHANDLER
pfn
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumServiceProviders
)(
THIS_
CONST
GUID
*
CONST
pguidServiceProvider
,
CONST
GUID
*
CONST
pguidApplication
,
DPN_SERVICE_PROVIDER_INFO
*
CONST
pSPInfoBuffer
,
PDWORD
CONST
pcbEnumData
,
PDWORD
CONST
pcReturned
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumHosts
)(
THIS_
PDPN_APPLICATION_DESC
CONST
pApplicationDesc
,
IDirectPlay8Address
*
CONST
pAddrHost
,
IDirectPlay8Address
*
CONST
pDeviceInfo
,
PVOID
CONST
pUserEnumData
,
CONST
DWORD
dwUserEnumDataSize
,
CONST
DWORD
dwEnumCount
,
CONST
DWORD
dwRetryInterval
,
CONST
DWORD
dwTimeOut
,
PVOID
CONST
pvUserContext
,
DPNHANDLE
*
CONST
pAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CancelAsyncOperation
)(
THIS_
CONST
DPNHANDLE
hAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Connect
)(
THIS_
CONST
DPN_APPLICATION_DESC
*
CONST
pdnAppDesc
,
IDirectPlay8Address
*
CONST
pHostAddr
,
IDirectPlay8Address
*
CONST
pDeviceInfo
,
CONST
DPN_SECURITY_DESC
*
CONST
pdnSecurity
,
CONST
DPN_SECURITY_CREDENTIALS
*
CONST
pdnCredentials
,
CONST
void
*
CONST
pvUserConnectData
,
CONST
DWORD
dwUserConnectDataSize
,
void
*
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Send
)(
THIS_
CONST
DPN_BUFFER_DESC
*
CONST
prgBufferDesc
,
CONST
DWORD
cBufferDesc
,
CONST
DWORD
dwTimeOut
,
void
*
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSendQueueInfo
)(
THIS_
DWORD
*
CONST
pdwNumMsgs
,
DWORD
*
CONST
pdwNumBytes
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetApplicationDesc
)(
THIS_
DPN_APPLICATION_DESC
*
CONST
pAppDescBuffer
,
DWORD
*
CONST
pcbDataSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetClientInfo
)(
THIS_
CONST
DPN_PLAYER_INFO
*
CONST
pdpnPlayerInfo
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetServerInfo
)(
THIS_
DPN_PLAYER_INFO
*
CONST
pdpnPlayerInfo
,
DWORD
*
CONST
pdwSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetServerAddress
)(
THIS_
IDirectPlay8Address
**
CONST
pAddress
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Close
)(
THIS_
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ReturnBuffer
)(
THIS_
CONST
DPNHANDLE
hBufferHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
DPN_CAPS
*
CONST
pdpCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetCaps
)(
THIS_
CONST
DPN_CAPS
*
CONST
pdpCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetSPCaps
)(
THIS_
CONST
GUID
*
CONST
pguidSP
,
CONST
DPN_SP_CAPS
*
CONST
pdpspCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSPCaps
)(
THIS_
CONST
GUID
*
CONST
pguidSP
,
DPN_SP_CAPS
*
CONST
pdpspCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetConnectionInfo
)(
THIS_
DPN_CONNECTION_INFO
*
CONST
pdpConnectionInfo
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
RegisterLobby
)(
THIS_
CONST
DPNHANDLE
dpnHandle
,
struct
IDirectPlay8LobbiedApplication
*
CONST
pIDP8LobbiedApplication
,
CONST
DWORD
dwFlags
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -561,40 +566,45 @@ DECLARE_INTERFACE_(IDirectPlay8Client,IUnknown) { IDirectPlay8Client_METHODS };
* IDirectPlay8Server interface
*/
#define INTERFACE IDirectPlay8Server
#define IDirectPlay8Server_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ PVOID CONST pvUserContext, CONST PFNDPNMESSAGEHANDLER pfn, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumServiceProviders)(THIS_ CONST GUID * CONST pguidServiceProvider, CONST GUID * CONST pguidApplication, DPN_SERVICE_PROVIDER_INFO * CONST pSPInfoBuffer, PDWORD CONST pcbEnumData, PDWORD CONST pcReturned, CONST DWORD dwFlags) PURE; \
STDMETHOD(CancelAsyncOperation)(THIS_ CONST DPNHANDLE hAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetSendQueueInfo)(THIS_ CONST DPNID dpnid, DWORD * CONST pdwNumMsgs, DWORD * CONST pdwNumBytes, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetApplicationDesc)(THIS_ DPN_APPLICATION_DESC * CONST pAppDescBuffer, DWORD * CONST pcbDataSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetServerInfo)(THIS_ CONST DPN_PLAYER_INFO * CONST pdpnPlayerInfo, PVOID CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetClientInfo)(THIS_ CONST DPNID dpnid, DPN_PLAYER_INFO * CONST pdpnPlayerInfo, DWORD * CONST pdwSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetClientAddress)(THIS_ CONST DPNID dpnid, IDirectPlay8Address ** CONST pAddress, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetLocalHostAddresses)(THIS_ IDirectPlay8Address ** CONST prgpAddress, DWORD * CONST pcAddress, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetApplicationDesc)(THIS_ CONST DPN_APPLICATION_DESC * CONST pad, CONST DWORD dwFlags) PURE; \
STDMETHOD(Host)(THIS_ CONST DPN_APPLICATION_DESC * CONST pdnAppDesc, IDirectPlay8Address ** CONST prgpDeviceInfo, CONST DWORD cDeviceInfo, CONST DPN_SECURITY_DESC * CONST pdnSecurity, CONST DPN_SECURITY_CREDENTIALS * CONST pdnCredentials, void * CONST pvPlayerContext, CONST DWORD dwFlags) PURE; \
STDMETHOD(SendTo)(THIS_ CONST DPNID dpnid, CONST DPN_BUFFER_DESC * CONST prgBufferDesc, CONST DWORD cBufferDesc, CONST DWORD dwTimeOut, void * CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(CreateGroup)(THIS_ CONST DPN_GROUP_INFO * CONST pdpnGroupInfo, void * CONST pvGroupContext, void * CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(DestroyGroup)(THIS_ CONST DPNID idGroup, PVOID CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(AddPlayerToGroup)(THIS_ CONST DPNID idGroup, CONST DPNID idClient, PVOID CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(RemovePlayerFromGroup)(THIS_ CONST DPNID idGroup, CONST DPNID idClient, PVOID CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetGroupInfo)(THIS_ CONST DPNID dpnid, DPN_GROUP_INFO * CONST pdpnGroupInfo, PVOID CONST pvAsyncContext, DPNHANDLE * CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetGroupInfo)(THIS_ CONST DPNID dpnid, DPN_GROUP_INFO * CONST pdpnGroupInfo, DWORD * CONST pdwSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumPlayersAndGroups)(THIS_ DPNID * CONST prgdpnid, DWORD * CONST pcdpnid, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumGroupMembers)(THIS_ CONST DPNID dpnid, DPNID * CONST prgdpnid, DWORD * CONST pcdpnid, CONST DWORD dwFlags) PURE; \
STDMETHOD(Close)(THIS_ CONST DWORD dwFlags) PURE; \
STDMETHOD(DestroyClient)(THIS_ CONST DPNID dpnidClient, CONST void * CONST pvDestroyData, CONST DWORD dwDestroyDataSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(ReturnBuffer)(THIS_ CONST DPNHANDLE hBufferHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetPlayerContext)(THIS_ CONST DPNID dpnid, PVOID * CONST ppvPlayerContext, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetGroupContext)(THIS_ CONST DPNID dpnid, PVOID * CONST ppvGroupContext, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetCaps)(THIS_ CONST DPN_CAPS * CONST pdpCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetSPCaps)(THIS_ CONST GUID * CONST pguidSP, CONST DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags ) PURE; \
STDMETHOD(GetSPCaps)(THIS_ CONST GUID * CONST pguidSP, DPN_SP_CAPS * CONST pdpspCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetConnectionInfo)(THIS_ CONST DPNID dpnid, DPN_CONNECTION_INFO * CONST pdpConnectionInfo, CONST DWORD dwFlags) PURE; \
STDMETHOD(RegisterLobby)(THIS_ CONST DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication * CONST pIDP8LobbiedApplication, CONST DWORD dwFlags) PURE;
DECLARE_INTERFACE_
(
IDirectPlay8Server
,
IUnknown
)
{
IDirectPlay8Server_METHODS
};
DECLARE_INTERFACE_
(
IDirectPlay8Server
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay8Server methods ***/
STDMETHOD
(
Initialize
)(
THIS_
PVOID
CONST
pvUserContext
,
CONST
PFNDPNMESSAGEHANDLER
pfn
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumServiceProviders
)(
THIS_
CONST
GUID
*
CONST
pguidServiceProvider
,
CONST
GUID
*
CONST
pguidApplication
,
DPN_SERVICE_PROVIDER_INFO
*
CONST
pSPInfoBuffer
,
PDWORD
CONST
pcbEnumData
,
PDWORD
CONST
pcReturned
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CancelAsyncOperation
)(
THIS_
CONST
DPNHANDLE
hAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSendQueueInfo
)(
THIS_
CONST
DPNID
dpnid
,
DWORD
*
CONST
pdwNumMsgs
,
DWORD
*
CONST
pdwNumBytes
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetApplicationDesc
)(
THIS_
DPN_APPLICATION_DESC
*
CONST
pAppDescBuffer
,
DWORD
*
CONST
pcbDataSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetServerInfo
)(
THIS_
CONST
DPN_PLAYER_INFO
*
CONST
pdpnPlayerInfo
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetClientInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_PLAYER_INFO
*
CONST
pdpnPlayerInfo
,
DWORD
*
CONST
pdwSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetClientAddress
)(
THIS_
CONST
DPNID
dpnid
,
IDirectPlay8Address
**
CONST
pAddress
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetLocalHostAddresses
)(
THIS_
IDirectPlay8Address
**
CONST
prgpAddress
,
DWORD
*
CONST
pcAddress
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetApplicationDesc
)(
THIS_
CONST
DPN_APPLICATION_DESC
*
CONST
pad
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Host
)(
THIS_
CONST
DPN_APPLICATION_DESC
*
CONST
pdnAppDesc
,
IDirectPlay8Address
**
CONST
prgpDeviceInfo
,
CONST
DWORD
cDeviceInfo
,
CONST
DPN_SECURITY_DESC
*
CONST
pdnSecurity
,
CONST
DPN_SECURITY_CREDENTIALS
*
CONST
pdnCredentials
,
void
*
CONST
pvPlayerContext
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SendTo
)(
THIS_
CONST
DPNID
dpnid
,
CONST
DPN_BUFFER_DESC
*
CONST
prgBufferDesc
,
CONST
DWORD
cBufferDesc
,
CONST
DWORD
dwTimeOut
,
void
*
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CreateGroup
)(
THIS_
CONST
DPN_GROUP_INFO
*
CONST
pdpnGroupInfo
,
void
*
CONST
pvGroupContext
,
void
*
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DestroyGroup
)(
THIS_
CONST
DPNID
idGroup
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
AddPlayerToGroup
)(
THIS_
CONST
DPNID
idGroup
,
CONST
DPNID
idClient
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
RemovePlayerFromGroup
)(
THIS_
CONST
DPNID
idGroup
,
CONST
DPNID
idClient
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetGroupInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_GROUP_INFO
*
CONST
pdpnGroupInfo
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_GROUP_INFO
*
CONST
pdpnGroupInfo
,
DWORD
*
CONST
pdwSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumPlayersAndGroups
)(
THIS_
DPNID
*
CONST
prgdpnid
,
DWORD
*
CONST
pcdpnid
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroupMembers
)(
THIS_
CONST
DPNID
dpnid
,
DPNID
*
CONST
prgdpnid
,
DWORD
*
CONST
pcdpnid
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Close
)(
THIS_
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DestroyClient
)(
THIS_
CONST
DPNID
dpnidClient
,
CONST
void
*
CONST
pvDestroyData
,
CONST
DWORD
dwDestroyDataSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ReturnBuffer
)(
THIS_
CONST
DPNHANDLE
hBufferHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerContext
)(
THIS_
CONST
DPNID
dpnid
,
PVOID
*
CONST
ppvPlayerContext
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupContext
)(
THIS_
CONST
DPNID
dpnid
,
PVOID
*
CONST
ppvGroupContext
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
DPN_CAPS
*
CONST
pdpCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetCaps
)(
THIS_
CONST
DPN_CAPS
*
CONST
pdpCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetSPCaps
)(
THIS_
CONST
GUID
*
CONST
pguidSP
,
CONST
DPN_SP_CAPS
*
CONST
pdpspCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSPCaps
)(
THIS_
CONST
GUID
*
CONST
pguidSP
,
DPN_SP_CAPS
*
CONST
pdpspCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetConnectionInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_CONNECTION_INFO
*
CONST
pdpConnectionInfo
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
RegisterLobby
)(
THIS_
CONST
DPNHANDLE
dpnHandle
,
struct
IDirectPlay8LobbiedApplication
*
CONST
pIDP8LobbiedApplication
,
CONST
DWORD
dwFlags
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -677,43 +687,48 @@ DECLARE_INTERFACE_(IDirectPlay8Server,IUnknown) { IDirectPlay8Server_METHODS };
* IDirectPlay8Peer interface
*/
#define INTERFACE IDirectPlay8Peer
#define IDirectPlay8Peer_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ PVOID CONST pvUserContext, CONST PFNDPNMESSAGEHANDLER pfn, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumServiceProviders)(THIS_ CONST GUID* CONST pguidServiceProvider, CONST GUID* CONST pguidApplication, DPN_SERVICE_PROVIDER_INFO* CONST pSPInfoBuffer, DWORD* CONST pcbEnumData, DWORD* CONST pcReturned, CONST DWORD dwFlags) PURE; \
STDMETHOD(CancelAsyncOperation)(THIS_ CONST DPNHANDLE hAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(Connect)(THIS_ CONST DPN_APPLICATION_DESC* CONST pdnAppDesc, IDirectPlay8Address* CONST pHostAddr, IDirectPlay8Address* CONST pDeviceInfo, CONST DPN_SECURITY_DESC* CONST pdnSecurity, CONST DPN_SECURITY_CREDENTIALS* CONST pdnCredentials, CONST void* CONST pvUserConnectData, CONST DWORD dwUserConnectDataSize, void* CONST pvPlayerContext, void* CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(SendTo)(THIS_ CONST DPNID dpnid, CONST DPN_BUFFER_DESC* CONST prgBufferDesc, CONST DWORD cBufferDesc, CONST DWORD dwTimeOut, void* CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetSendQueueInfo)(THIS_ CONST DPNID dpnid, DWORD* CONST pdwNumMsgs, DWORD* CONST pdwNumBytes, CONST DWORD dwFlags) PURE; \
STDMETHOD(Host)(THIS_ CONST DPN_APPLICATION_DESC* CONST pdnAppDesc, IDirectPlay8Address **CONST prgpDeviceInfo, CONST DWORD cDeviceInfo, CONST DPN_SECURITY_DESC* CONST pdnSecurity, CONST DPN_SECURITY_CREDENTIALS* CONST pdnCredentials, void* CONST pvPlayerContext, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetApplicationDesc)(THIS_ DPN_APPLICATION_DESC* CONST pAppDescBuffer, DWORD* CONST pcbDataSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetApplicationDesc)(THIS_ CONST DPN_APPLICATION_DESC* CONST pad, CONST DWORD dwFlags) PURE; \
STDMETHOD(CreateGroup)(THIS_ CONST DPN_GROUP_INFO* CONST pdpnGroupInfo, void* CONST pvGroupContext, void* CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(DestroyGroup)(THIS_ CONST DPNID idGroup, PVOID CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(AddPlayerToGroup)(THIS_ CONST DPNID idGroup, CONST DPNID idClient, PVOID CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(RemovePlayerFromGroup)(THIS_ CONST DPNID idGroup, CONST DPNID idClient, PVOID CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetGroupInfo)(THIS_ CONST DPNID dpnid, DPN_GROUP_INFO* CONST pdpnGroupInfo,PVOID CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetGroupInfo)(THIS_ CONST DPNID dpnid, DPN_GROUP_INFO* CONST pdpnGroupInfo, DWORD* CONST pdwSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumPlayersAndGroups)(THIS_ DPNID* CONST prgdpnid, DWORD* CONST pcdpnid, CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumGroupMembers)(THIS_ CONST DPNID dpnid, DPNID* CONST prgdpnid, DWORD* CONST pcdpnid, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetPeerInfo)(THIS_ CONST DPN_PLAYER_INFO* CONST pdpnPlayerInfo,PVOID CONST pvAsyncContext, DPNHANDLE* CONST phAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetPeerInfo)(THIS_ CONST DPNID dpnid, DPN_PLAYER_INFO* CONST pdpnPlayerInfo, DWORD* CONST pdwSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetPeerAddress)(THIS_ CONST DPNID dpnid, IDirectPlay8Address** CONST pAddress, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetLocalHostAddresses)(THIS_ IDirectPlay8Address** CONST prgpAddress, DWORD* CONST pcAddress, CONST DWORD dwFlags) PURE; \
STDMETHOD(Close)(THIS_ CONST DWORD dwFlags) PURE; \
STDMETHOD(EnumHosts)(THIS_ PDPN_APPLICATION_DESC CONST pApplicationDesc, IDirectPlay8Address* CONST pAddrHost, IDirectPlay8Address* CONST pDeviceInfo,PVOID CONST pUserEnumData, CONST DWORD dwUserEnumDataSize, CONST DWORD dwEnumCount, CONST DWORD dwRetryInterval, CONST DWORD dwTimeOut,PVOID CONST pvUserContext, DPNHANDLE* CONST pAsyncHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(DestroyPeer)(THIS_ CONST DPNID dpnidClient, CONST void* CONST pvDestroyData, CONST DWORD dwDestroyDataSize, CONST DWORD dwFlags) PURE; \
STDMETHOD(ReturnBuffer)(THIS_ CONST DPNHANDLE hBufferHandle, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetPlayerContext)(THIS_ CONST DPNID dpnid,PVOID* CONST ppvPlayerContext, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetGroupContext)(THIS_ CONST DPNID dpnid,PVOID* CONST ppvGroupContext, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetCaps)(THIS_ DPN_CAPS* CONST pdpCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetCaps)(THIS_ CONST DPN_CAPS* CONST pdpCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(SetSPCaps)(THIS_ CONST GUID* CONST pguidSP, CONST DPN_SP_CAPS* CONST pdpspCaps, CONST DWORD dwFlags ) PURE; \
STDMETHOD(GetSPCaps)(THIS_ CONST GUID* CONST pguidSP, DPN_SP_CAPS* CONST pdpspCaps, CONST DWORD dwFlags) PURE; \
STDMETHOD(GetConnectionInfo)(THIS_ CONST DPNID dpnid, DPN_CONNECTION_INFO* CONST pdpConnectionInfo, CONST DWORD dwFlags) PURE; \
STDMETHOD(RegisterLobby)(THIS_ CONST DPNHANDLE dpnHandle, struct IDirectPlay8LobbiedApplication* CONST pIDP8LobbiedApplication, CONST DWORD dwFlags) PURE; \
STDMETHOD(TerminateSession)(THIS_ void* CONST pvTerminateData, CONST DWORD dwTerminateDataSize, CONST DWORD dwFlags) PURE;
DECLARE_INTERFACE_
(
IDirectPlay8Peer
,
IUnknown
)
{
IDirectPlay8Peer_METHODS
};
DECLARE_INTERFACE_
(
IDirectPlay8Peer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlay8Peer methods ***/
STDMETHOD
(
Initialize
)(
THIS_
PVOID
CONST
pvUserContext
,
CONST
PFNDPNMESSAGEHANDLER
pfn
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumServiceProviders
)(
THIS_
CONST
GUID
*
CONST
pguidServiceProvider
,
CONST
GUID
*
CONST
pguidApplication
,
DPN_SERVICE_PROVIDER_INFO
*
CONST
pSPInfoBuffer
,
DWORD
*
CONST
pcbEnumData
,
DWORD
*
CONST
pcReturned
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CancelAsyncOperation
)(
THIS_
CONST
DPNHANDLE
hAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Connect
)(
THIS_
CONST
DPN_APPLICATION_DESC
*
CONST
pdnAppDesc
,
IDirectPlay8Address
*
CONST
pHostAddr
,
IDirectPlay8Address
*
CONST
pDeviceInfo
,
CONST
DPN_SECURITY_DESC
*
CONST
pdnSecurity
,
CONST
DPN_SECURITY_CREDENTIALS
*
CONST
pdnCredentials
,
CONST
void
*
CONST
pvUserConnectData
,
CONST
DWORD
dwUserConnectDataSize
,
void
*
CONST
pvPlayerContext
,
void
*
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SendTo
)(
THIS_
CONST
DPNID
dpnid
,
CONST
DPN_BUFFER_DESC
*
CONST
prgBufferDesc
,
CONST
DWORD
cBufferDesc
,
CONST
DWORD
dwTimeOut
,
void
*
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSendQueueInfo
)(
THIS_
CONST
DPNID
dpnid
,
DWORD
*
CONST
pdwNumMsgs
,
DWORD
*
CONST
pdwNumBytes
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Host
)(
THIS_
CONST
DPN_APPLICATION_DESC
*
CONST
pdnAppDesc
,
IDirectPlay8Address
**
CONST
prgpDeviceInfo
,
CONST
DWORD
cDeviceInfo
,
CONST
DPN_SECURITY_DESC
*
CONST
pdnSecurity
,
CONST
DPN_SECURITY_CREDENTIALS
*
CONST
pdnCredentials
,
void
*
CONST
pvPlayerContext
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetApplicationDesc
)(
THIS_
DPN_APPLICATION_DESC
*
CONST
pAppDescBuffer
,
DWORD
*
CONST
pcbDataSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetApplicationDesc
)(
THIS_
CONST
DPN_APPLICATION_DESC
*
CONST
pad
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
CreateGroup
)(
THIS_
CONST
DPN_GROUP_INFO
*
CONST
pdpnGroupInfo
,
void
*
CONST
pvGroupContext
,
void
*
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DestroyGroup
)(
THIS_
CONST
DPNID
idGroup
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
AddPlayerToGroup
)(
THIS_
CONST
DPNID
idGroup
,
CONST
DPNID
idClient
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
RemovePlayerFromGroup
)(
THIS_
CONST
DPNID
idGroup
,
CONST
DPNID
idClient
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetGroupInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_GROUP_INFO
*
CONST
pdpnGroupInfo
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_GROUP_INFO
*
CONST
pdpnGroupInfo
,
DWORD
*
CONST
pdwSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumPlayersAndGroups
)(
THIS_
DPNID
*
CONST
prgdpnid
,
DWORD
*
CONST
pcdpnid
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumGroupMembers
)(
THIS_
CONST
DPNID
dpnid
,
DPNID
*
CONST
prgdpnid
,
DWORD
*
CONST
pcdpnid
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetPeerInfo
)(
THIS_
CONST
DPN_PLAYER_INFO
*
CONST
pdpnPlayerInfo
,
PVOID
CONST
pvAsyncContext
,
DPNHANDLE
*
CONST
phAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPeerInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_PLAYER_INFO
*
CONST
pdpnPlayerInfo
,
DWORD
*
CONST
pdwSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPeerAddress
)(
THIS_
CONST
DPNID
dpnid
,
IDirectPlay8Address
**
CONST
pAddress
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetLocalHostAddresses
)(
THIS_
IDirectPlay8Address
**
CONST
prgpAddress
,
DWORD
*
CONST
pcAddress
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Close
)(
THIS_
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
EnumHosts
)(
THIS_
PDPN_APPLICATION_DESC
CONST
pApplicationDesc
,
IDirectPlay8Address
*
CONST
pAddrHost
,
IDirectPlay8Address
*
CONST
pDeviceInfo
,
PVOID
CONST
pUserEnumData
,
CONST
DWORD
dwUserEnumDataSize
,
CONST
DWORD
dwEnumCount
,
CONST
DWORD
dwRetryInterval
,
CONST
DWORD
dwTimeOut
,
PVOID
CONST
pvUserContext
,
DPNHANDLE
*
CONST
pAsyncHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
DestroyPeer
)(
THIS_
CONST
DPNID
dpnidClient
,
CONST
void
*
CONST
pvDestroyData
,
CONST
DWORD
dwDestroyDataSize
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
ReturnBuffer
)(
THIS_
CONST
DPNHANDLE
hBufferHandle
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetPlayerContext
)(
THIS_
CONST
DPNID
dpnid
,
PVOID
*
CONST
ppvPlayerContext
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetGroupContext
)(
THIS_
CONST
DPNID
dpnid
,
PVOID
*
CONST
ppvGroupContext
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
DPN_CAPS
*
CONST
pdpCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetCaps
)(
THIS_
CONST
DPN_CAPS
*
CONST
pdpCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetSPCaps
)(
THIS_
CONST
GUID
*
CONST
pguidSP
,
CONST
DPN_SP_CAPS
*
CONST
pdpspCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetSPCaps
)(
THIS_
CONST
GUID
*
CONST
pguidSP
,
DPN_SP_CAPS
*
CONST
pdpspCaps
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
GetConnectionInfo
)(
THIS_
CONST
DPNID
dpnid
,
DPN_CONNECTION_INFO
*
CONST
pdpConnectionInfo
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
RegisterLobby
)(
THIS_
CONST
DPNHANDLE
dpnHandle
,
struct
IDirectPlay8LobbiedApplication
*
CONST
pIDP8LobbiedApplication
,
CONST
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
TerminateSession
)(
THIS_
void
*
CONST
pvTerminateData
,
CONST
DWORD
dwTerminateDataSize
,
CONST
DWORD
dwFlags
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dplobby.h
View file @
5d0160ea
...
...
@@ -369,43 +369,84 @@ typedef BOOL (CALLBACK *LPDPLENUMLOCALAPPLICATIONSCALLBACK)(
* IDirectPlayLobby and IDirectPlayLobbyA interface
*/
#define INTERFACE IDirectPlayLobby
#define IDirectPlayLobby_METHODS \
IUnknown_METHODS \
STDMETHOD(Connect)(THIS_ DWORD, LPDIRECTPLAY2*, IUnknown*) PURE; \
STDMETHOD(CreateAddress)(THIS_ REFGUID, REFGUID, LPCVOID, DWORD, LPVOID, LPDWORD) PURE; \
STDMETHOD(EnumAddress)(THIS_ LPDPENUMADDRESSCALLBACK, LPCVOID, DWORD, LPVOID) PURE; \
STDMETHOD(EnumAddressTypes)(THIS_ LPDPLENUMADDRESSTYPESCALLBACK, REFGUID, LPVOID, DWORD) PURE; \
STDMETHOD(EnumLocalApplications)(THIS_ LPDPLENUMLOCALAPPLICATIONSCALLBACK, LPVOID, DWORD) PURE; \
STDMETHOD(GetConnectionSettings)(THIS_ DWORD, LPVOID, LPDWORD) PURE; \
STDMETHOD(ReceiveLobbyMessage)(THIS_ DWORD, DWORD, LPDWORD, LPVOID, LPDWORD) PURE; \
STDMETHOD(RunApplication)(THIS_ DWORD, LPDWORD, LPDPLCONNECTION, HANDLE) PURE; \
STDMETHOD(SendLobbyMessage)(THIS_ DWORD, DWORD, LPVOID, DWORD) PURE; \
STDMETHOD(SetConnectionSettings)(THIS_ DWORD, DWORD, LPDPLCONNECTION) PURE; \
DECLARE_INTERFACE_
(
IDirectPlayLobby
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlayLobby methods ***/
STDMETHOD
(
Connect
)(
THIS_
DWORD
,
LPDIRECTPLAY2
*
,
IUnknown
*
)
PURE
;
STDMETHOD
(
CreateAddress
)(
THIS_
REFGUID
,
REFGUID
,
LPCVOID
,
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
EnumAddress
)(
THIS_
LPDPENUMADDRESSCALLBACK
,
LPCVOID
,
DWORD
,
LPVOID
)
PURE
;
STDMETHOD
(
EnumAddressTypes
)(
THIS_
LPDPLENUMADDRESSTYPESCALLBACK
,
REFGUID
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
EnumLocalApplications
)(
THIS_
LPDPLENUMLOCALAPPLICATIONSCALLBACK
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
GetConnectionSettings
)(
THIS_
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
ReceiveLobbyMessage
)(
THIS_
DWORD
,
DWORD
,
LPDWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
RunApplication
)(
THIS_
DWORD
,
LPDWORD
,
LPDPLCONNECTION
,
HANDLE
)
PURE
;
STDMETHOD
(
SendLobbyMessage
)(
THIS_
DWORD
,
DWORD
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
SetConnectionSettings
)(
THIS_
DWORD
,
DWORD
,
LPDPLCONNECTION
)
PURE
;
STDMETHOD
(
SetLobbyMessageEvent
)(
THIS_
DWORD
,
DWORD
,
HANDLE
)
PURE
;
DECLARE_INTERFACE_
(
IDirectPlayLobby
,
IUnknown
)
{
IDirectPlayLobby_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectPlayLobby2 and IDirectPlayLobby2A interface
*/
#define INTERFACE IDirectPlayLobby2
#define IDirectPlayLobby2_METHODS \
IDirectPlayLobby_METHODS \
DECLARE_INTERFACE_
(
IDirectPlayLobby2
,
IDirectPlayLobby
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlayLobby methods ***/
STDMETHOD
(
Connect
)(
THIS_
DWORD
,
LPDIRECTPLAY2
*
,
IUnknown
*
)
PURE
;
STDMETHOD
(
CreateAddress
)(
THIS_
REFGUID
,
REFGUID
,
LPCVOID
,
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
EnumAddress
)(
THIS_
LPDPENUMADDRESSCALLBACK
,
LPCVOID
,
DWORD
,
LPVOID
)
PURE
;
STDMETHOD
(
EnumAddressTypes
)(
THIS_
LPDPLENUMADDRESSTYPESCALLBACK
,
REFGUID
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
EnumLocalApplications
)(
THIS_
LPDPLENUMLOCALAPPLICATIONSCALLBACK
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
GetConnectionSettings
)(
THIS_
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
ReceiveLobbyMessage
)(
THIS_
DWORD
,
DWORD
,
LPDWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
RunApplication
)(
THIS_
DWORD
,
LPDWORD
,
LPDPLCONNECTION
,
HANDLE
)
PURE
;
STDMETHOD
(
SendLobbyMessage
)(
THIS_
DWORD
,
DWORD
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
SetConnectionSettings
)(
THIS_
DWORD
,
DWORD
,
LPDPLCONNECTION
)
PURE
;
STDMETHOD
(
SetLobbyMessageEvent
)(
THIS_
DWORD
,
DWORD
,
HANDLE
)
PURE
;
/*** IDirectPlayLobby2 methods ***/
STDMETHOD
(
CreateCompoundAddress
)(
THIS_
LPCDPCOMPOUNDADDRESSELEMENT
,
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
DECLARE_INTERFACE_
(
IDirectPlayLobby2
,
IDirectPlayLobby
)
{
IDirectPlayLobby2_METHODS
};
};
#undef INTERFACE
/*****************************************************************************
* IDirectPlayLobby3 and IDirectPlayLobby3A interface
*/
#define INTERFACE IDirectPlayLobby3
#define IDirectPlayLobby3_METHODS \
IDirectPlayLobby2_METHODS \
STDMETHOD(ConnectEx)(THIS_ DWORD, REFIID, LPVOID *, IUnknown *) PURE; \
STDMETHOD(RegisterApplication)(THIS_ DWORD, LPDPAPPLICATIONDESC) PURE; \
STDMETHOD(UnregisterApplication)(THIS_ DWORD, REFGUID) PURE; \
DECLARE_INTERFACE_
(
IDirectPlayLobby3
,
IDirectPlayLobby2
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectPlayLobby methods ***/
STDMETHOD
(
Connect
)(
THIS_
DWORD
,
LPDIRECTPLAY2
*
,
IUnknown
*
)
PURE
;
STDMETHOD
(
CreateAddress
)(
THIS_
REFGUID
,
REFGUID
,
LPCVOID
,
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
EnumAddress
)(
THIS_
LPDPENUMADDRESSCALLBACK
,
LPCVOID
,
DWORD
,
LPVOID
)
PURE
;
STDMETHOD
(
EnumAddressTypes
)(
THIS_
LPDPLENUMADDRESSTYPESCALLBACK
,
REFGUID
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
EnumLocalApplications
)(
THIS_
LPDPLENUMLOCALAPPLICATIONSCALLBACK
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
GetConnectionSettings
)(
THIS_
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
ReceiveLobbyMessage
)(
THIS_
DWORD
,
DWORD
,
LPDWORD
,
LPVOID
,
LPDWORD
)
PURE
;
STDMETHOD
(
RunApplication
)(
THIS_
DWORD
,
LPDWORD
,
LPDPLCONNECTION
,
HANDLE
)
PURE
;
STDMETHOD
(
SendLobbyMessage
)(
THIS_
DWORD
,
DWORD
,
LPVOID
,
DWORD
)
PURE
;
STDMETHOD
(
SetConnectionSettings
)(
THIS_
DWORD
,
DWORD
,
LPDPLCONNECTION
)
PURE
;
STDMETHOD
(
SetLobbyMessageEvent
)(
THIS_
DWORD
,
DWORD
,
HANDLE
)
PURE
;
/*** IDirectPlayLobby2 methods ***/
STDMETHOD
(
CreateCompoundAddress
)(
THIS_
LPCDPCOMPOUNDADDRESSELEMENT
,
DWORD
,
LPVOID
,
LPDWORD
)
PURE
;
/*** IDirectPlayLobby3 methods ***/
STDMETHOD
(
ConnectEx
)(
THIS_
DWORD
,
REFIID
,
LPVOID
*
,
IUnknown
*
)
PURE
;
STDMETHOD
(
RegisterApplication
)(
THIS_
DWORD
,
LPDPAPPLICATIONDESC
)
PURE
;
STDMETHOD
(
UnregisterApplication
)(
THIS_
DWORD
,
REFGUID
)
PURE
;
STDMETHOD
(
WaitForConnectionSettings
)(
THIS_
DWORD
)
PURE
;
DECLARE_INTERFACE_
(
IDirectPlayLobby3
,
IDirectPlayLobby2
)
{
IDirectPlayLobby3_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dsdriver.h
View file @
5d0160ea
...
...
@@ -133,15 +133,20 @@ typedef struct _DSCDRIVERCAPS
* IDsDriver interface
*/
#define INTERFACE IDsDriver
#define IDsDriver_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE; \
STDMETHOD(Open)(THIS) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(GetCaps)(THIS_ PDSDRIVERCAPS pDsDrvCaps) PURE; \
STDMETHOD(CreateSoundBuffer)(THIS_ LPWAVEFORMATEX pwfx,DWORD dwFlags,DWORD dwCardAddress,LPDWORD pdwcbBufferSize,LPBYTE *ppbBuffer,LPVOID *ppvObj) PURE; \
DECLARE_INTERFACE_
(
IDsDriver
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDsDriver methods ***/
STDMETHOD
(
GetDriverDesc
)(
THIS_
PDSDRIVERDESC
pDsDriverDesc
)
PURE
;
STDMETHOD
(
Open
)(
THIS
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
PDSDRIVERCAPS
pDsDrvCaps
)
PURE
;
STDMETHOD
(
CreateSoundBuffer
)(
THIS_
LPWAVEFORMATEX
pwfx
,
DWORD
dwFlags
,
DWORD
dwCardAddress
,
LPDWORD
pdwcbBufferSize
,
LPBYTE
*
ppbBuffer
,
LPVOID
*
ppvObj
)
PURE
;
STDMETHOD
(
DuplicateSoundBuffer
)(
THIS_
PIDSDRIVERBUFFER
pIDsDriverBuffer
,
LPVOID
*
ppvObj
)
PURE
;
DECLARE_INTERFACE_
(
IDsDriver
,
IUnknown
)
{
IDsDriver_METHODS
};
};
#undef INTERFACE
#if !defined (__cplusplus) || defined(CINTERFACE)
...
...
@@ -162,18 +167,23 @@ DECLARE_INTERFACE_(IDsDriver,IUnknown) { IDsDriver_METHODS };
* IDsDriverBuffer interface
*/
#define INTERFACE IDsDriverBuffer
#define IDsDriverBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *pdwAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE; \
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE; \
STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
STDMETHOD(SetVolumePan)(THIS_ PDSVOLUMEPAN pDsVolumePan) PURE; \
STDMETHOD(SetPosition)(THIS_ DWORD dwNewPosition) PURE; \
STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(Play)(THIS_ DWORD dwReserved1,DWORD dwReserved2,DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDsDriverBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDsDriverBuffer methods ***/
STDMETHOD
(
Lock
)(
THIS_
LPVOID
*
ppvAudio1
,
LPDWORD
pdwLen1
,
LPVOID
*
pdwAudio2
,
LPDWORD
pdwLen2
,
DWORD
dwWritePosition
,
DWORD
dwWriteLen
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
pvAudio1
,
DWORD
dwLen1
,
LPVOID
pvAudio2
,
DWORD
dwLen2
)
PURE
;
STDMETHOD
(
SetFormat
)(
THIS_
LPWAVEFORMATEX
pwfxToSet
)
PURE
;
STDMETHOD
(
SetFrequency
)(
THIS_
DWORD
dwFrequency
)
PURE
;
STDMETHOD
(
SetVolumePan
)(
THIS_
PDSVOLUMEPAN
pDsVolumePan
)
PURE
;
STDMETHOD
(
SetPosition
)(
THIS_
DWORD
dwNewPosition
)
PURE
;
STDMETHOD
(
GetPosition
)(
THIS_
LPDWORD
lpdwCurrentPlayCursor
,
LPDWORD
lpdwCurrentWriteCursor
)
PURE
;
STDMETHOD
(
Play
)(
THIS_
DWORD
dwReserved1
,
DWORD
dwReserved2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Stop
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDsDriverBuffer
,
IUnknown
)
{
IDsDriverBuffer_METHODS
};
};
#undef INTERFACE
#if !defined (__cplusplus) || defined(CINTERFACE)
...
...
@@ -197,12 +207,17 @@ DECLARE_INTERFACE_(IDsDriverBuffer,IUnknown) { IDsDriverBuffer_METHODS };
* IDsDriverPropertySet interface
*/
#define INTERFACE IDsDriverPropertySet
#define IDsDriverPropertySet_METHODS \
IUnknown_METHODS \
STDMETHOD(Get)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData,PULONG pcbReturnedData) PURE; \
STDMETHOD(Set)(THIS_ PDSPROPERTY pDsProperty,LPVOID pPropertyParams,ULONG cbPropertyParams,LPVOID pPropertyData,ULONG cbPropertyData) PURE; \
DECLARE_INTERFACE_
(
IDsDriverPropertySet
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDsDriverPropertySet methods ***/
STDMETHOD
(
Get
)(
THIS_
PDSPROPERTY
pDsProperty
,
LPVOID
pPropertyParams
,
ULONG
cbPropertyParams
,
LPVOID
pPropertyData
,
ULONG
cbPropertyData
,
PULONG
pcbReturnedData
)
PURE
;
STDMETHOD
(
Set
)(
THIS_
PDSPROPERTY
pDsProperty
,
LPVOID
pPropertyParams
,
ULONG
cbPropertyParams
,
LPVOID
pPropertyData
,
ULONG
cbPropertyData
)
PURE
;
STDMETHOD
(
QuerySupport
)(
THIS_
REFGUID
PropertySetId
,
ULONG
PropertyId
,
PULONG
pSupport
)
PURE
;
DECLARE_INTERFACE_
(
IDsDriverPropertySet
,
IUnknown
)
{
IDsDriverPropertySet_METHODS
};
};
#undef INTERFACE
#if !defined (__cplusplus) || defined(CINTERFACE)
...
...
@@ -255,10 +270,15 @@ typedef enum
* IDsDriverNotify interface
*/
#define INTERFACE IDsDriverNotify
#define IDsDriverNotify_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDsDriverNotify
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDsDriverNotify methods ***/
STDMETHOD
(
SetNotificationPositions
)(
THIS_
DWORD
dwPositionNotifies
,
LPCDSBPOSITIONNOTIFY
pcPositionNotifies
)
PURE
;
DECLARE_INTERFACE_
(
IDsDriverNotify
,
IUnknown
)
{
IDsDriverNotify_METHODS
};
};
#undef INTERFACE
#if !defined (__cplusplus) || defined(CINTERFACE)
...
...
@@ -274,14 +294,19 @@ DECLARE_INTERFACE_(IDsDriverNotify,IUnknown) { IDsDriverNotify_METHODS };
* IDsCaptureDriver interface
*/
#define INTERFACE IDsCaptureDriver
#define IDsCaptureDriver_METHODS \
IUnknown_METHODS \
STDMETHOD(GetDriverDesc)(THIS_ PDSDRIVERDESC pDsDriverDesc) PURE; \
STDMETHOD(Open)(THIS) PURE; \
STDMETHOD(Close)(THIS) PURE; \
STDMETHOD(GetCaps)(THIS_ PDSCDRIVERCAPS pDsDrvCaps) PURE; \
DECLARE_INTERFACE_
(
IDsCaptureDriver
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDsCaptureDriver methods ***/
STDMETHOD
(
GetDriverDesc
)(
THIS_
PDSDRIVERDESC
pDsDriverDesc
)
PURE
;
STDMETHOD
(
Open
)(
THIS
)
PURE
;
STDMETHOD
(
Close
)(
THIS
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
PDSCDRIVERCAPS
pDsDrvCaps
)
PURE
;
STDMETHOD
(
CreateCaptureBuffer
)(
THIS_
LPWAVEFORMATEX
pwfx
,
DWORD
dwFlags
,
DWORD
dwCardAddress
,
LPDWORD
pdwcbBufferSize
,
LPBYTE
*
ppbBuffer
,
LPVOID
*
ppvObj
)
PURE
;
DECLARE_INTERFACE_
(
IDsCaptureDriver
,
IUnknown
)
{
IDsCaptureDriver_METHODS
};
};
#undef INTERFACE
#if !defined (__cplusplus) || defined(CINTERFACE)
...
...
@@ -301,16 +326,21 @@ DECLARE_INTERFACE_(IDsCaptureDriver,IUnknown) { IDsCaptureDriver_METHODS };
* IDsCaptureDriverBuffer interface
*/
#define INTERFACE IDsCaptureDriverBuffer
#define IDsCaptureDriverBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(Lock)(THIS_ LPVOID *ppvAudio1,LPDWORD pdwLen1,LPVOID *ppvAudio2,LPDWORD pdwLen2,DWORD dwWritePosition,DWORD dwWriteLen,DWORD dwFlags) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID pvAudio1,DWORD dwLen1,LPVOID pvAudio2,DWORD dwLen2) PURE; \
STDMETHOD(SetFormat)(THIS_ LPWAVEFORMATEX pwfxToSet) PURE; \
STDMETHOD(GetPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor,LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE; \
DECLARE_INTERFACE_
(
IDsCaptureDriverBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDsCaptureDriverBuffer methods ***/
STDMETHOD
(
Lock
)(
THIS_
LPVOID
*
ppvAudio1
,
LPDWORD
pdwLen1
,
LPVOID
*
ppvAudio2
,
LPDWORD
pdwLen2
,
DWORD
dwWritePosition
,
DWORD
dwWriteLen
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
pvAudio1
,
DWORD
dwLen1
,
LPVOID
pvAudio2
,
DWORD
dwLen2
)
PURE
;
STDMETHOD
(
SetFormat
)(
THIS_
LPWAVEFORMATEX
pwfxToSet
)
PURE
;
STDMETHOD
(
GetPosition
)(
THIS_
LPDWORD
lpdwCurrentPlayCursor
,
LPDWORD
lpdwCurrentWriteCursor
)
PURE
;
STDMETHOD
(
GetStatus
)(
THIS_
LPDWORD
lpdwStatus
)
PURE
;
STDMETHOD
(
Start
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Stop
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDsCaptureDriverBuffer
,
IUnknown
)
{
IDsCaptureDriverBuffer_METHODS
};
};
#undef INTERFACE
#if !defined (__cplusplus) || defined(CINTERFACE)
...
...
include/dsound.h
View file @
5d0160ea
...
...
@@ -420,17 +420,22 @@ extern HRESULT WINAPI GetDeviceID(LPCGUID lpGuidSrc, LPGUID lpGuidDest);
* IDirectSound interface
*/
#define INTERFACE IDirectSound
#define IDirectSound_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateSoundBuffer)(THIS_ LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE; \
STDMETHOD(Compact)(THIS) PURE; \
STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE; \
STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE; \
DECLARE_INTERFACE_
(
IDirectSound
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSound methods ***/
STDMETHOD
(
CreateSoundBuffer
)(
THIS_
LPCDSBUFFERDESC
lpcDSBufferDesc
,
LPLPDIRECTSOUNDBUFFER
lplpDirectSoundBuffer
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDSCAPS
lpDSCaps
)
PURE
;
STDMETHOD
(
DuplicateSoundBuffer
)(
THIS_
LPDIRECTSOUNDBUFFER
lpDsbOriginal
,
LPLPDIRECTSOUNDBUFFER
lplpDsbDuplicate
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwLevel
)
PURE
;
STDMETHOD
(
Compact
)(
THIS
)
PURE
;
STDMETHOD
(
GetSpeakerConfig
)(
THIS_
LPDWORD
lpdwSpeakerConfig
)
PURE
;
STDMETHOD
(
SetSpeakerConfig
)(
THIS_
DWORD
dwSpeakerConfig
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPCGUID
lpcGuid
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSound
,
IUnknown
)
{
IDirectSound_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -468,18 +473,23 @@ DECLARE_INTERFACE_(IDirectSound,IUnknown) { IDirectSound_METHODS };
* IDirectSound8 interface
*/
#define INTERFACE IDirectSound8
#define IDirectSound8_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateSoundBuffer)(THIS_ LPCDSBUFFERDESC lpcDSBufferDesc, LPLPDIRECTSOUNDBUFFER lplpDirectSoundBuffer, IUnknown *pUnkOuter) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCAPS lpDSCaps) PURE; \
STDMETHOD(DuplicateSoundBuffer)(THIS_ LPDIRECTSOUNDBUFFER lpDsbOriginal, LPLPDIRECTSOUNDBUFFER lplpDsbDuplicate) PURE; \
STDMETHOD(SetCooperativeLevel)(THIS_ HWND hwnd, DWORD dwLevel) PURE; \
STDMETHOD(Compact)(THIS) PURE; \
STDMETHOD(GetSpeakerConfig)(THIS_ LPDWORD lpdwSpeakerConfig) PURE; \
STDMETHOD(SetSpeakerConfig)(THIS_ DWORD dwSpeakerConfig) PURE; \
STDMETHOD(Initialize)(THIS_ LPCGUID lpcGuid) PURE; \
DECLARE_INTERFACE_
(
IDirectSound8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSound8 methods ***/
STDMETHOD
(
CreateSoundBuffer
)(
THIS_
LPCDSBUFFERDESC
lpcDSBufferDesc
,
LPLPDIRECTSOUNDBUFFER
lplpDirectSoundBuffer
,
IUnknown
*
pUnkOuter
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDSCAPS
lpDSCaps
)
PURE
;
STDMETHOD
(
DuplicateSoundBuffer
)(
THIS_
LPDIRECTSOUNDBUFFER
lpDsbOriginal
,
LPLPDIRECTSOUNDBUFFER
lplpDsbDuplicate
)
PURE
;
STDMETHOD
(
SetCooperativeLevel
)(
THIS_
HWND
hwnd
,
DWORD
dwLevel
)
PURE
;
STDMETHOD
(
Compact
)(
THIS
)
PURE
;
STDMETHOD
(
GetSpeakerConfig
)(
THIS_
LPDWORD
lpdwSpeakerConfig
)
PURE
;
STDMETHOD
(
SetSpeakerConfig
)(
THIS_
DWORD
dwSpeakerConfig
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPCGUID
lpcGuid
)
PURE
;
STDMETHOD
(
VerifyCertification
)(
THIS_
LPDWORD
pdwCertified
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSound8
,
IUnknown
)
{
IDirectSound8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -521,27 +531,32 @@ DECLARE_INTERFACE_(IDirectSound8,IUnknown) { IDirectSound8_METHODS };
* IDirectSoundBuffer interface
*/
#define INTERFACE IDirectSoundBuffer
#define IDirectSoundBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE; \
STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE; \
STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPCDSBUFFERDESC lpcDSBufferDesc) PURE; \
STDMETHOD(Lock)(THIS_ DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE; \
STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE; \
STDMETHOD(SetFormat)(THIS_ LPCWAVEFORMATEX lpcfxFormat) PURE; \
STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE; \
STDMETHOD(SetPan)(THIS_ LONG lPan) PURE; \
STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioPtr2) PURE; \
DECLARE_INTERFACE_
(
IDirectSoundBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSoundBuffer methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPDSBCAPS
lpDSBufferCaps
)
PURE
;
STDMETHOD
(
GetCurrentPosition
)(
THIS_
LPDWORD
lpdwCurrentPlayCursor
,
LPDWORD
lpdwCurrentWriteCursor
)
PURE
;
STDMETHOD
(
GetFormat
)(
THIS_
LPWAVEFORMATEX
lpwfxFormat
,
DWORD
dwSizeAllocated
,
LPDWORD
lpdwSizeWritten
)
PURE
;
STDMETHOD
(
GetVolume
)(
THIS_
LPLONG
lplVolume
)
PURE
;
STDMETHOD
(
GetPan
)(
THIS_
LPLONG
lplpan
)
PURE
;
STDMETHOD
(
GetFrequency
)(
THIS_
LPDWORD
lpdwFrequency
)
PURE
;
STDMETHOD
(
GetStatus
)(
THIS_
LPDWORD
lpdwStatus
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTSOUND
lpDirectSound
,
LPCDSBUFFERDESC
lpcDSBufferDesc
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
DWORD
dwWriteCursor
,
DWORD
dwWriteBytes
,
LPVOID
lplpvAudioPtr1
,
LPDWORD
lpdwAudioBytes1
,
LPVOID
lplpvAudioPtr2
,
LPDWORD
lpdwAudioBytes2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Play
)(
THIS_
DWORD
dwReserved1
,
DWORD
dwReserved2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetCurrentPosition
)(
THIS_
DWORD
dwNewPosition
)
PURE
;
STDMETHOD
(
SetFormat
)(
THIS_
LPCWAVEFORMATEX
lpcfxFormat
)
PURE
;
STDMETHOD
(
SetVolume
)(
THIS_
LONG
lVolume
)
PURE
;
STDMETHOD
(
SetPan
)(
THIS_
LONG
lPan
)
PURE
;
STDMETHOD
(
SetFrequency
)(
THIS_
DWORD
dwFrequency
)
PURE
;
STDMETHOD
(
Stop
)(
THIS
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
lpvAudioPtr1
,
DWORD
dwAudioBytes1
,
LPVOID
lpvAudioPtr2
,
DWORD
dwAudioPtr2
)
PURE
;
STDMETHOD
(
Restore
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSoundBuffer
,
IUnknown
)
{
IDirectSoundBuffer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -599,30 +614,35 @@ DECLARE_INTERFACE_(IDirectSoundBuffer,IUnknown) { IDirectSoundBuffer_METHODS };
* IDirectSoundBuffer8 interface
*/
#define INTERFACE IDirectSoundBuffer8
#define IDirectSoundBuffer8_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPDSBCAPS lpDSBufferCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCurrentPlayCursor, LPDWORD lpdwCurrentWriteCursor) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
STDMETHOD(GetVolume)(THIS_ LPLONG lplVolume) PURE; \
STDMETHOD(GetPan)(THIS_ LPLONG lplpan) PURE; \
STDMETHOD(GetFrequency)(THIS_ LPDWORD lpdwFrequency) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTSOUND lpDirectSound, LPCDSBUFFERDESC lpcDSBufferDesc) PURE; \
STDMETHOD(Lock)(THIS_ DWORD dwWriteCursor, DWORD dwWriteBytes, LPVOID lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
STDMETHOD(Play)(THIS_ DWORD dwReserved1, DWORD dwReserved2, DWORD dwFlags) PURE; \
STDMETHOD(SetCurrentPosition)(THIS_ DWORD dwNewPosition) PURE; \
STDMETHOD(SetFormat)(THIS_ LPCWAVEFORMATEX lpcfxFormat) PURE; \
STDMETHOD(SetVolume)(THIS_ LONG lVolume) PURE; \
STDMETHOD(SetPan)(THIS_ LONG lPan) PURE; \
STDMETHOD(SetFrequency)(THIS_ DWORD dwFrequency) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
STDMETHOD(Unlock)(THIS_ LPVOID lpvAudioPtr1, DWORD dwAudioBytes1, LPVOID lpvAudioPtr2, DWORD dwAudioPtr2) PURE; \
STDMETHOD(Restore)(THIS) PURE; \
STDMETHOD(SetFX)(THIS_ DWORD dwEffectsCount, LPDSEFFECTDESC pDSFXDesc, LPDWORD pdwResultCodes) PURE; \
STDMETHOD(AcquireResources)(THIS_ DWORD dwFlags, DWORD dwEffectsCount, LPDWORD pdwResultCodes) PURE; \
DECLARE_INTERFACE_
(
IDirectSoundBuffer8
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSoundBuffer8 methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPDSBCAPS
lpDSBufferCaps
)
PURE
;
STDMETHOD
(
GetCurrentPosition
)(
THIS_
LPDWORD
lpdwCurrentPlayCursor
,
LPDWORD
lpdwCurrentWriteCursor
)
PURE
;
STDMETHOD
(
GetFormat
)(
THIS_
LPWAVEFORMATEX
lpwfxFormat
,
DWORD
dwSizeAllocated
,
LPDWORD
lpdwSizeWritten
)
PURE
;
STDMETHOD
(
GetVolume
)(
THIS_
LPLONG
lplVolume
)
PURE
;
STDMETHOD
(
GetPan
)(
THIS_
LPLONG
lplpan
)
PURE
;
STDMETHOD
(
GetFrequency
)(
THIS_
LPDWORD
lpdwFrequency
)
PURE
;
STDMETHOD
(
GetStatus
)(
THIS_
LPDWORD
lpdwStatus
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTSOUND
lpDirectSound
,
LPCDSBUFFERDESC
lpcDSBufferDesc
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
DWORD
dwWriteCursor
,
DWORD
dwWriteBytes
,
LPVOID
lplpvAudioPtr1
,
LPDWORD
lpdwAudioBytes1
,
LPVOID
lplpvAudioPtr2
,
LPDWORD
lpdwAudioBytes2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Play
)(
THIS_
DWORD
dwReserved1
,
DWORD
dwReserved2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
SetCurrentPosition
)(
THIS_
DWORD
dwNewPosition
)
PURE
;
STDMETHOD
(
SetFormat
)(
THIS_
LPCWAVEFORMATEX
lpcfxFormat
)
PURE
;
STDMETHOD
(
SetVolume
)(
THIS_
LONG
lVolume
)
PURE
;
STDMETHOD
(
SetPan
)(
THIS_
LONG
lPan
)
PURE
;
STDMETHOD
(
SetFrequency
)(
THIS_
DWORD
dwFrequency
)
PURE
;
STDMETHOD
(
Stop
)(
THIS
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
lpvAudioPtr1
,
DWORD
dwAudioBytes1
,
LPVOID
lpvAudioPtr2
,
DWORD
dwAudioPtr2
)
PURE
;
STDMETHOD
(
Restore
)(
THIS
)
PURE
;
STDMETHOD
(
SetFX
)(
THIS_
DWORD
dwEffectsCount
,
LPDSEFFECTDESC
pDSFXDesc
,
LPDWORD
pdwResultCodes
)
PURE
;
STDMETHOD
(
AcquireResources
)(
THIS_
DWORD
dwFlags
,
DWORD
dwEffectsCount
,
LPDWORD
pdwResultCodes
)
PURE
;
STDMETHOD
(
GetObjectInPath
)(
THIS_
REFGUID
rguidObject
,
DWORD
dwIndex
,
REFGUID
rguidInterface
,
LPVOID
*
ppObject
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSoundBuffer8
,
IUnknown
)
{
IDirectSoundBuffer8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -688,12 +708,17 @@ DECLARE_INTERFACE_(IDirectSoundBuffer8,IUnknown) { IDirectSoundBuffer8_METHODS }
* IDirectSoundCapture interface
*/
#define INTERFACE IDirectSoundCapture
#define IDirectSoundCapture_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateCaptureBuffer)(THIS_ LPCDSCBUFFERDESC lpcDSCBufferDesc,LPDIRECTSOUNDCAPTUREBUFFER *lplpDSCaptureBuffer, LPUNKNOWN pUnk) PURE; \
STDMETHOD(GetCaps)(THIS_ LPDSCCAPS lpDSCCaps) PURE; \
DECLARE_INTERFACE_
(
IDirectSoundCapture
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSoundCapture methods ***/
STDMETHOD
(
CreateCaptureBuffer
)(
THIS_
LPCDSCBUFFERDESC
lpcDSCBufferDesc
,
LPDIRECTSOUNDCAPTUREBUFFER
*
lplpDSCaptureBuffer
,
LPUNKNOWN
pUnk
)
PURE
;
STDMETHOD
(
GetCaps
)(
THIS_
LPDSCCAPS
lpDSCCaps
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPCGUID
lpcGUID
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSoundCapture
,
IUnknown
)
{
IDirectSoundCapture_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -720,18 +745,23 @@ DECLARE_INTERFACE_(IDirectSoundCapture,IUnknown) { IDirectSoundCapture_METHODS }
* IDirectSoundCaptureBuffer interface
*/
#define INTERFACE IDirectSoundCaptureBuffer
#define IDirectSoundCaptureBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(GetCaps)(THIS_ LPDSCBCAPS lpDSCBCaps) PURE; \
STDMETHOD(GetCurrentPosition)(THIS_ LPDWORD lpdwCapturePosition,LPDWORD lpdwReadPosition) PURE; \
STDMETHOD(GetFormat)(THIS_ LPWAVEFORMATEX lpwfxFormat, DWORD dwSizeAllocated, LPDWORD lpdwSizeWritten) PURE; \
STDMETHOD(GetStatus)(THIS_ LPDWORD lpdwStatus) PURE; \
STDMETHOD(Initialize)(THIS_ LPDIRECTSOUNDCAPTURE lpDSC, LPCDSCBUFFERDESC lpcDSCBDesc) PURE; \
STDMETHOD(Lock)(THIS_ DWORD dwReadCusor, DWORD dwReadBytes, LPVOID *lplpvAudioPtr1, LPDWORD lpdwAudioBytes1, LPVOID *lplpvAudioPtr2, LPDWORD lpdwAudioBytes2, DWORD dwFlags) PURE; \
STDMETHOD(Start)(THIS_ DWORD dwFlags) PURE; \
STDMETHOD(Stop)(THIS) PURE; \
DECLARE_INTERFACE_
(
IDirectSoundCaptureBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSoundCaptureBuffer methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPDSCBCAPS
lpDSCBCaps
)
PURE
;
STDMETHOD
(
GetCurrentPosition
)(
THIS_
LPDWORD
lpdwCapturePosition
,
LPDWORD
lpdwReadPosition
)
PURE
;
STDMETHOD
(
GetFormat
)(
THIS_
LPWAVEFORMATEX
lpwfxFormat
,
DWORD
dwSizeAllocated
,
LPDWORD
lpdwSizeWritten
)
PURE
;
STDMETHOD
(
GetStatus
)(
THIS_
LPDWORD
lpdwStatus
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTSOUNDCAPTURE
lpDSC
,
LPCDSCBUFFERDESC
lpcDSCBDesc
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
DWORD
dwReadCusor
,
DWORD
dwReadBytes
,
LPVOID
*
lplpvAudioPtr1
,
LPDWORD
lpdwAudioBytes1
,
LPVOID
*
lplpvAudioPtr2
,
LPDWORD
lpdwAudioBytes2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Start
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Stop
)(
THIS
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
lpvAudioPtr1
,
DWORD
dwAudioBytes1
,
LPVOID
lpvAudioPtr2
,
DWORD
dwAudioBytes2
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSoundCaptureBuffer
,
IUnknown
)
{
IDirectSoundCaptureBuffer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -770,11 +800,26 @@ DECLARE_INTERFACE_(IDirectSoundCaptureBuffer,IUnknown) { IDirectSoundCaptureBuff
* IDirectSoundCaptureBuffer8 interface
*/
#define INTERFACE IDirectSoundCaptureBuffer8
#define IDirectSoundCaptureBuffer8_METHODS \
IDirectSoundCaptureBuffer_METHODS \
STDMETHOD(GetObjectInPath)(THIS_ REFGUID rguidObject, DWORD dwIndex, REFGUID rguidInterface, LPVOID *ppObject) PURE; \
DECLARE_INTERFACE_
(
IDirectSoundCaptureBuffer8
,
IDirectSoundCaptureBuffer
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSoundCaptureBuffer methods ***/
STDMETHOD
(
GetCaps
)(
THIS_
LPDSCBCAPS
lpDSCBCaps
)
PURE
;
STDMETHOD
(
GetCurrentPosition
)(
THIS_
LPDWORD
lpdwCapturePosition
,
LPDWORD
lpdwReadPosition
)
PURE
;
STDMETHOD
(
GetFormat
)(
THIS_
LPWAVEFORMATEX
lpwfxFormat
,
DWORD
dwSizeAllocated
,
LPDWORD
lpdwSizeWritten
)
PURE
;
STDMETHOD
(
GetStatus
)(
THIS_
LPDWORD
lpdwStatus
)
PURE
;
STDMETHOD
(
Initialize
)(
THIS_
LPDIRECTSOUNDCAPTURE
lpDSC
,
LPCDSCBUFFERDESC
lpcDSCBDesc
)
PURE
;
STDMETHOD
(
Lock
)(
THIS_
DWORD
dwReadCusor
,
DWORD
dwReadBytes
,
LPVOID
*
lplpvAudioPtr1
,
LPDWORD
lpdwAudioBytes1
,
LPVOID
*
lplpvAudioPtr2
,
LPDWORD
lpdwAudioBytes2
,
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Start
)(
THIS_
DWORD
dwFlags
)
PURE
;
STDMETHOD
(
Stop
)(
THIS
)
PURE
;
STDMETHOD
(
Unlock
)(
THIS_
LPVOID
lpvAudioPtr1
,
DWORD
dwAudioBytes1
,
LPVOID
lpvAudioPtr2
,
DWORD
dwAudioBytes2
)
PURE
;
/*** IDirectSoundCaptureBuffer8 methods ***/
STDMETHOD
(
GetObjectInPath
)(
THIS_
REFGUID
rguidObject
,
DWORD
dwIndex
,
REFGUID
rguidInterface
,
LPVOID
*
ppObject
)
PURE
;
STDMETHOD
(
GetFXStatus
)(
THIS_
DWORD
dwFXCount
,
LPDWORD
pdwFXStatus
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSoundCaptureBuffer8
,
IDirectSoundCaptureBuffer
)
{
IDirectSoundCaptureBuffer8_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -823,10 +868,15 @@ DECLARE_INTERFACE_(IDirectSoundCaptureBuffer8,IDirectSoundCaptureBuffer) { IDire
#define DSBPN_OFFSETSTOP -1
#define INTERFACE IDirectSoundNotify
#define IDirectSoundNotify_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectSoundNotify
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSoundNotify methods ***/
STDMETHOD
(
SetNotificationPositions
)(
THIS_
DWORD
cPositionNotifies
,
LPCDSBPOSITIONNOTIFY
lpcPositionNotifies
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSoundNotify
,
IUnknown
)
{
IDirectSoundNotify_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -891,24 +941,29 @@ typedef struct _DS3DLISTENER {
typedef
const
DS3DLISTENER
*
LPCDS3DLISTENER
;
#define INTERFACE IDirectSound3DListener
#define IDirectSound3DListener_METHODS \
IUnknown_METHODS \
STDMETHOD(GetAllParameters)(THIS_ LPDS3DLISTENER lpListener) PURE; \
STDMETHOD(GetDistanceFactor)(THIS_ LPD3DVALUE lpflDistanceFactor) PURE; \
STDMETHOD(GetDopplerFactor)(THIS_ LPD3DVALUE lpflDopplerFactor) PURE; \
STDMETHOD(GetOrientation)(THIS_ LPD3DVECTOR lpvOrientFront, LPD3DVECTOR lpvOrientTop) PURE; \
STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE; \
STDMETHOD(GetRolloffFactor)(THIS_ LPD3DVALUE lpflRolloffFactor) PURE; \
STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE; \
STDMETHOD(SetAllParameters)(THIS_ LPCDS3DLISTENER lpcListener, DWORD dwApply) PURE; \
STDMETHOD(SetDistanceFactor)(THIS_ D3DVALUE flDistanceFactor, DWORD dwApply) PURE; \
STDMETHOD(SetDopplerFactor)(THIS_ D3DVALUE flDopplerFactor, DWORD dwApply) PURE; \
STDMETHOD(SetOrientation)(THIS_ D3DVALUE xFront, D3DVALUE yFront, D3DVALUE zFront, D3DVALUE xTop, D3DVALUE yTop, D3DVALUE zTop, DWORD dwApply) PURE; \
STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
STDMETHOD(SetRolloffFactor)(THIS_ D3DVALUE flRolloffFactor, DWORD dwApply) PURE; \
STDMETHOD(SetVelocity)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
DECLARE_INTERFACE_
(
IDirectSound3DListener
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSound3DListener methods ***/
STDMETHOD
(
GetAllParameters
)(
THIS_
LPDS3DLISTENER
lpListener
)
PURE
;
STDMETHOD
(
GetDistanceFactor
)(
THIS_
LPD3DVALUE
lpflDistanceFactor
)
PURE
;
STDMETHOD
(
GetDopplerFactor
)(
THIS_
LPD3DVALUE
lpflDopplerFactor
)
PURE
;
STDMETHOD
(
GetOrientation
)(
THIS_
LPD3DVECTOR
lpvOrientFront
,
LPD3DVECTOR
lpvOrientTop
)
PURE
;
STDMETHOD
(
GetPosition
)(
THIS_
LPD3DVECTOR
lpvPosition
)
PURE
;
STDMETHOD
(
GetRolloffFactor
)(
THIS_
LPD3DVALUE
lpflRolloffFactor
)
PURE
;
STDMETHOD
(
GetVelocity
)(
THIS_
LPD3DVECTOR
lpvVelocity
)
PURE
;
STDMETHOD
(
SetAllParameters
)(
THIS_
LPCDS3DLISTENER
lpcListener
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetDistanceFactor
)(
THIS_
D3DVALUE
flDistanceFactor
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetDopplerFactor
)(
THIS_
D3DVALUE
flDopplerFactor
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetOrientation
)(
THIS_
D3DVALUE
xFront
,
D3DVALUE
yFront
,
D3DVALUE
zFront
,
D3DVALUE
xTop
,
D3DVALUE
yTop
,
D3DVALUE
zTop
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetPosition
)(
THIS_
D3DVALUE
x
,
D3DVALUE
y
,
D3DVALUE
z
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetRolloffFactor
)(
THIS_
D3DVALUE
flRolloffFactor
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetVelocity
)(
THIS_
D3DVALUE
x
,
D3DVALUE
y
,
D3DVALUE
z
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
CommitDeferredSettings
)(
THIS
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSound3DListener
,
IUnknown
)
{
IDirectSound3DListener_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -975,27 +1030,32 @@ typedef struct _DS3DBUFFER {
typedef
const
DS3DBUFFER
*
LPCDS3DBUFFER
;
#define INTERFACE IDirectSound3DBuffer
#define IDirectSound3DBuffer_METHODS \
IUnknown_METHODS \
STDMETHOD(GetAllParameters)(THIS_ LPDS3DBUFFER lpDs3dBuffer) PURE; \
STDMETHOD(GetConeAngles)(THIS_ LPDWORD lpdwInsideConeAngle, LPDWORD lpdwOutsideConeAngle) PURE; \
STDMETHOD(GetConeOrientation)(THIS_ LPD3DVECTOR lpvOrientation) PURE; \
STDMETHOD(GetConeOutsideVolume)(THIS_ LPLONG lplConeOutsideVolume) PURE; \
STDMETHOD(GetMaxDistance)(THIS_ LPD3DVALUE lpflMaxDistance) PURE; \
STDMETHOD(GetMinDistance)(THIS_ LPD3DVALUE lpflMinDistance) PURE; \
STDMETHOD(GetMode)(THIS_ LPDWORD lpwdMode) PURE; \
STDMETHOD(GetPosition)(THIS_ LPD3DVECTOR lpvPosition) PURE; \
STDMETHOD(GetVelocity)(THIS_ LPD3DVECTOR lpvVelocity) PURE; \
STDMETHOD(SetAllParameters)(THIS_ LPCDS3DBUFFER lpcDs3dBuffer, DWORD dwApply) PURE; \
STDMETHOD(SetConeAngles)(THIS_ DWORD dwInsideConeAngle, DWORD dwOutsideConeAngle, DWORD dwApply) PURE; \
STDMETHOD(SetConeOrientation)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
STDMETHOD(SetConeOutsideVolume)(THIS_ LONG lConeOutsideVolume, DWORD dwApply) PURE; \
STDMETHOD(SetMaxDistance)(THIS_ D3DVALUE flMaxDistance, DWORD dwApply) PURE; \
STDMETHOD(SetMinDistance)(THIS_ D3DVALUE flMinDistance, DWORD dwApply) PURE; \
STDMETHOD(SetMode)(THIS_ DWORD dwMode, DWORD dwApply) PURE; \
STDMETHOD(SetPosition)(THIS_ D3DVALUE x, D3DVALUE y, D3DVALUE z, DWORD dwApply) PURE; \
DECLARE_INTERFACE_
(
IDirectSound3DBuffer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSound3DBuffer methods ***/
STDMETHOD
(
GetAllParameters
)(
THIS_
LPDS3DBUFFER
lpDs3dBuffer
)
PURE
;
STDMETHOD
(
GetConeAngles
)(
THIS_
LPDWORD
lpdwInsideConeAngle
,
LPDWORD
lpdwOutsideConeAngle
)
PURE
;
STDMETHOD
(
GetConeOrientation
)(
THIS_
LPD3DVECTOR
lpvOrientation
)
PURE
;
STDMETHOD
(
GetConeOutsideVolume
)(
THIS_
LPLONG
lplConeOutsideVolume
)
PURE
;
STDMETHOD
(
GetMaxDistance
)(
THIS_
LPD3DVALUE
lpflMaxDistance
)
PURE
;
STDMETHOD
(
GetMinDistance
)(
THIS_
LPD3DVALUE
lpflMinDistance
)
PURE
;
STDMETHOD
(
GetMode
)(
THIS_
LPDWORD
lpwdMode
)
PURE
;
STDMETHOD
(
GetPosition
)(
THIS_
LPD3DVECTOR
lpvPosition
)
PURE
;
STDMETHOD
(
GetVelocity
)(
THIS_
LPD3DVECTOR
lpvVelocity
)
PURE
;
STDMETHOD
(
SetAllParameters
)(
THIS_
LPCDS3DBUFFER
lpcDs3dBuffer
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetConeAngles
)(
THIS_
DWORD
dwInsideConeAngle
,
DWORD
dwOutsideConeAngle
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetConeOrientation
)(
THIS_
D3DVALUE
x
,
D3DVALUE
y
,
D3DVALUE
z
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetConeOutsideVolume
)(
THIS_
LONG
lConeOutsideVolume
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetMaxDistance
)(
THIS_
D3DVALUE
flMaxDistance
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetMinDistance
)(
THIS_
D3DVALUE
flMinDistance
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetMode
)(
THIS_
DWORD
dwMode
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetPosition
)(
THIS_
D3DVALUE
x
,
D3DVALUE
y
,
D3DVALUE
z
,
DWORD
dwApply
)
PURE
;
STDMETHOD
(
SetVelocity
)(
THIS_
D3DVALUE
x
,
D3DVALUE
y
,
D3DVALUE
z
,
DWORD
dwApply
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSound3DBuffer
,
IUnknown
)
{
IDirectSound3DBuffer_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1062,12 +1122,17 @@ DEFINE_GUID(IID_IKsPropertySet,0x31EFAC30,0x515C,0x11D0,0xA9,0xAA,0x00,0xAA,0x00
#define KSPROPERTY_SUPPORT_SET 2
#define INTERFACE IKsPropertySet
#define IKsPropertySet_METHODS \
IUnknown_METHODS \
STDMETHOD(Get)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3,ULONG *px4) PURE;\
STDMETHOD(Set)(THIS_ REFGUID rgid,ULONG x1,LPVOID p1,ULONG x2,LPVOID p2,ULONG x3) PURE;\
DECLARE_INTERFACE_
(
IKsPropertySet
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IKsPropertySet methods ***/
STDMETHOD
(
Get
)(
THIS_
REFGUID
rgid
,
ULONG
x1
,
LPVOID
p1
,
ULONG
x2
,
LPVOID
p2
,
ULONG
x3
,
ULONG
*
px4
)
PURE
;
STDMETHOD
(
Set
)(
THIS_
REFGUID
rgid
,
ULONG
x1
,
LPVOID
p1
,
ULONG
x2
,
LPVOID
p2
,
ULONG
x3
)
PURE
;
STDMETHOD
(
QuerySupport
)(
THIS_
REFGUID
rgid
,
ULONG
x1
,
ULONG
*
px2
)
PURE
;
DECLARE_INTERFACE_
(
IKsPropertySet
,
IUnknown
)
{
IKsPropertySet_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1096,10 +1161,15 @@ DECLARE_INTERFACE_(IKsPropertySet,IUnknown) { IKsPropertySet_METHODS };
* IDirectSoundFullDuplex interface
*/
#define INTERFACE IDirectSoundFullDuplex
#define IDirectSoundFullDuplex_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IDirectSoundFullDuplex
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectSoundFullDuplex methods ***/
STDMETHOD
(
Initialize
)(
THIS_
LPCGUID
pCaptureGuid
,
LPCGUID
pRendererGuid
,
LPCDSCBUFFERDESC
lpDscBufferDesc
,
LPCDSBUFFERDESC
lpDsBufferDesc
,
HWND
hWnd
,
DWORD
dwLevel
,
LPLPDIRECTSOUNDCAPTUREBUFFER8
lplpDirectSoundCaptureBuffer8
,
LPLPDIRECTSOUNDBUFFER8
lplpDirectSoundBuffer8
)
PURE
;
DECLARE_INTERFACE_
(
IDirectSoundFullDuplex
,
IUnknown
)
{
IDirectSoundFullDuplex_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dxdiag.h
View file @
5d0160ea
...
...
@@ -68,11 +68,16 @@ typedef struct IDxDiagContainer IDxDiagContainer, *LPDXDIAGCONTAINER, *PDX
* IDxDiagProvider interface
*/
#define INTERFACE IDxDiagProvider
#define IDxDiagProvider_METHODS \
IUnknown_METHODS \
STDMETHOD(Initialize)(THIS_ DXDIAG_INIT_PARAMS* pParams) PURE; \
STDMETHOD(GetRootContainer)(THIS_ IDxDiagContainer** ppInstance) PURE;
DECLARE_INTERFACE_
(
IDxDiagProvider
,
IUnknown
)
{
IDxDiagProvider_METHODS
};
DECLARE_INTERFACE_
(
IDxDiagProvider
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDxDiagProvider methods ***/
STDMETHOD
(
Initialize
)(
THIS_
DXDIAG_INIT_PARAMS
*
pParams
)
PURE
;
STDMETHOD
(
GetRootContainer
)(
THIS_
IDxDiagContainer
**
ppInstance
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -101,15 +106,20 @@ DECLARE_INTERFACE_(IDxDiagProvider,IUnknown) { IDxDiagProvider_METHODS };
#endif
#define INTERFACE IDxDiagContainer
#define IDxDiagContainer_METHODS \
IUnknown_METHODS \
STDMETHOD(GetNumberOfChildContainers)(THIS_ DWORD* pdwCount) PURE; \
STDMETHOD(EnumChildContainerNames)(THIS_ DWORD dwIndex, LPWSTR pwszContainer, DWORD cchContainer) PURE; \
STDMETHOD(GetChildContainer)(THIS_ LPCWSTR pwszContainer, IDxDiagContainer** ppInstance) PURE; \
STDMETHOD(GetNumberOfProps)(THIS_ DWORD* pdwCount) PURE; \
STDMETHOD(EnumPropNames)(THIS_ DWORD dwIndex, LPWSTR pwszPropName, DWORD cchPropName) PURE; \
STDMETHOD(GetProp)(THIS_ LPCWSTR pwszPropName, VARIANT* pvarProp) PURE;
DECLARE_INTERFACE_
(
IDxDiagContainer
,
IUnknown
)
{
IDxDiagContainer_METHODS
};
DECLARE_INTERFACE_
(
IDxDiagContainer
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDxDiagContainer methods ***/
STDMETHOD
(
GetNumberOfChildContainers
)(
THIS_
DWORD
*
pdwCount
)
PURE
;
STDMETHOD
(
EnumChildContainerNames
)(
THIS_
DWORD
dwIndex
,
LPWSTR
pwszContainer
,
DWORD
cchContainer
)
PURE
;
STDMETHOD
(
GetChildContainer
)(
THIS_
LPCWSTR
pwszContainer
,
IDxDiagContainer
**
ppInstance
)
PURE
;
STDMETHOD
(
GetNumberOfProps
)(
THIS_
DWORD
*
pdwCount
)
PURE
;
STDMETHOD
(
EnumPropNames
)(
THIS_
DWORD
dwIndex
,
LPWSTR
pwszPropName
,
DWORD
cchPropName
)
PURE
;
STDMETHOD
(
GetProp
)(
THIS_
LPCWSTR
pwszPropName
,
VARIANT
*
pvarProp
)
PURE
;
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/dxfile.h
View file @
5d0160ea
...
...
@@ -62,12 +62,17 @@ typedef struct IDirectXFileBinary IDirectXFileBinary, *LPDIRECTXFILEBINARY;
STDAPI
DirectXFileCreate
(
LPDIRECTXFILE
*
lplpDirectXFile
);
#define INTERFACE IDirectXFile
#define IDirectXFile_METHODS \
IUnknown_METHODS \
STDMETHOD(CreateEnumObject) (THIS_ LPVOID, DXFILELOADOPTIONS, LPDIRECTXFILEENUMOBJECT *) PURE; \
STDMETHOD(CreateSaveObject) (THIS_ LPCSTR, DXFILEFORMAT, LPDIRECTXFILESAVEOBJECT *) PURE; \
DECLARE_INTERFACE_
(
IDirectXFile
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectXFile methods ***/
STDMETHOD
(
CreateEnumObject
)
(
THIS_
LPVOID
,
DXFILELOADOPTIONS
,
LPDIRECTXFILEENUMOBJECT
*
)
PURE
;
STDMETHOD
(
CreateSaveObject
)
(
THIS_
LPCSTR
,
DXFILEFORMAT
,
LPDIRECTXFILESAVEOBJECT
*
)
PURE
;
STDMETHOD
(
RegisterTemplates
)
(
THIS_
LPVOID
,
DWORD
)
PURE
;
DECLARE_INTERFACE_
(
IDirectXFile
,
IUnknown
)
{
IDirectXFile_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -82,12 +87,17 @@ DECLARE_INTERFACE_(IDirectXFile,IUnknown) { IDirectXFile_METHODS };
#endif
#define INTERFACE IDirectXFileEnumObject
#define IDirectXFileEnumObject_METHODS \
IUnknown_METHODS \
STDMETHOD(GetNextDataObject) (THIS_ LPDIRECTXFILEDATA *) PURE; \
STDMETHOD(GetDataObjectById) (THIS_ REFGUID, LPDIRECTXFILEDATA *) PURE; \
DECLARE_INTERFACE_
(
IDirectXFileEnumObject
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectXFileEnumObject methods ***/
STDMETHOD
(
GetNextDataObject
)
(
THIS_
LPDIRECTXFILEDATA
*
)
PURE
;
STDMETHOD
(
GetDataObjectById
)
(
THIS_
REFGUID
,
LPDIRECTXFILEDATA
*
)
PURE
;
STDMETHOD
(
GetDataObjectByName
)
(
THIS_
LPCSTR
,
LPDIRECTXFILEDATA
*
)
PURE
;
DECLARE_INTERFACE_
(
IDirectXFileEnumObject
,
IUnknown
)
{
IDirectXFileEnumObject_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -102,12 +112,17 @@ DECLARE_INTERFACE_(IDirectXFileEnumObject,IUnknown) { IDirectXFileEnumObject_MET
#endif
#define INTERFACE IDirectXFileSaveObject
#define IDirectXFileSaveObject_METHODS \
IUnknown_METHODS \
STDMETHOD(SaveTemplates) (THIS_ DWORD, const GUID **) PURE; \
STDMETHOD(CreateDataObject) (THIS_ REFGUID, LPCSTR, const GUID *, DWORD, LPVOID, LPDIRECTXFILEDATA *) PURE; \
DECLARE_INTERFACE_
(
IDirectXFileSaveObject
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IDirectXFileSaveObject methods ***/
STDMETHOD
(
SaveTemplates
)
(
THIS_
DWORD
,
const
GUID
**
)
PURE
;
STDMETHOD
(
CreateDataObject
)
(
THIS_
REFGUID
,
LPCSTR
,
const
GUID
*
,
DWORD
,
LPVOID
,
LPDIRECTXFILEDATA
*
)
PURE
;
STDMETHOD
(
SaveData
)
(
THIS_
LPDIRECTXFILEDATA
)
PURE
;
DECLARE_INTERFACE_
(
IDirectXFileSaveObject
,
IUnknown
)
{
IDirectXFileSaveObject_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -131,10 +146,11 @@ DECLARE_INTERFACE_(IDirectXFileSaveObject,IUnknown) { IDirectXFileSaveObject_MET
STDMETHOD(GetId) (THIS_ LPGUID) kind
#define INTERFACE IDirectXFileObject
#define IDirectXFileObject_METHODS \
IUNKNOWN_METHODS(PURE); \
DECLARE_INTERFACE_
(
IDirectXFileObject
,
IUnknown
)
{
IUNKNOWN_METHODS
(
PURE
);
IDIRECTXFILEOBJECT_METHODS
(
PURE
);
DECLARE_INTERFACE_
(
IDirectXFileObject
,
IUnknown
)
{
IDirectXFileObject_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -148,16 +164,18 @@ DECLARE_INTERFACE_(IDirectXFileObject,IUnknown) { IDirectXFileObject_METHODS };
#endif
#define INTERFACE IDirectXFileData
#define IDirectXFileData_METHODS \
IUNKNOWN_METHODS(PURE); \
IDIRECTXFILEOBJECT_METHODS(PURE); \
STDMETHOD(GetData) (THIS_ LPCSTR, DWORD *, void **) PURE; \
STDMETHOD(GetType) (THIS_ const GUID **) PURE; \
STDMETHOD(GetNextObject) (THIS_ LPDIRECTXFILEOBJECT *) PURE; \
STDMETHOD(AddDataObject) (THIS_ LPDIRECTXFILEDATA) PURE; \
STDMETHOD(AddDataReference) (THIS_ LPCSTR, const GUID *) PURE; \
DECLARE_INTERFACE_
(
IDirectXFileData
,
IDirectXFileObject
)
{
IUNKNOWN_METHODS
(
PURE
);
IDIRECTXFILEOBJECT_METHODS
(
PURE
);
/*** IDirectXFileData methods ***/
STDMETHOD
(
GetData
)
(
THIS_
LPCSTR
,
DWORD
*
,
void
**
)
PURE
;
STDMETHOD
(
GetType
)
(
THIS_
const
GUID
**
)
PURE
;
STDMETHOD
(
GetNextObject
)
(
THIS_
LPDIRECTXFILEOBJECT
*
)
PURE
;
STDMETHOD
(
AddDataObject
)
(
THIS_
LPDIRECTXFILEDATA
)
PURE
;
STDMETHOD
(
AddDataReference
)
(
THIS_
LPCSTR
,
const
GUID
*
)
PURE
;
STDMETHOD
(
AddBinaryObject
)
(
THIS_
LPCSTR
,
const
GUID
*
,
LPCSTR
,
LPVOID
,
DWORD
)
PURE
;
DECLARE_INTERFACE_
(
IDirectXFileData
,
IDirectXFileObject
)
{
IDirectXFileData_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -178,11 +196,13 @@ DECLARE_INTERFACE_(IDirectXFileData,IDirectXFileObject) { IDirectXFileData_METHO
#endif
#define INTERFACE IDirectXFileDataReference
#define IDirectXFileDataReference_METHODS \
IUNKNOWN_METHODS(PURE); \
IDIRECTXFILEOBJECT_METHODS(PURE); \
DECLARE_INTERFACE_
(
IDirectXFileDataReference
,
IDirectXFileObject
)
{
IUNKNOWN_METHODS
(
PURE
);
IDIRECTXFILEOBJECT_METHODS
(
PURE
);
/*** IDirectXFileDataReference methods ***/
STDMETHOD
(
Resolve
)
(
THIS_
LPDIRECTXFILEDATA
*
)
PURE
;
DECLARE_INTERFACE_
(
IDirectXFileDataReference
,
IDirectXFileObject
)
{
IDirectXFileDataReference_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -198,13 +218,15 @@ DECLARE_INTERFACE_(IDirectXFileDataReference,IDirectXFileObject) { IDirectXFileD
#endif
#define INTERFACE IDirectXFileBinary
#define IDirectXFileBinary_METHODS \
IUNKNOWN_METHODS(PURE); \
IDIRECTXFILEOBJECT_METHODS(PURE); \
STDMETHOD(GetSize) (THIS_ DWORD *) PURE; \
STDMETHOD(GetMimeType) (THIS_ LPCSTR *) PURE; \
DECLARE_INTERFACE_
(
IDirectXFileBinary
,
IDirectXFileObject
)
{
IUNKNOWN_METHODS
(
PURE
);
IDIRECTXFILEOBJECT_METHODS
(
PURE
);
/*** IDirectXFileBinary methods ***/
STDMETHOD
(
GetSize
)
(
THIS_
DWORD
*
)
PURE
;
STDMETHOD
(
GetMimeType
)
(
THIS_
LPCSTR
*
)
PURE
;
STDMETHOD
(
Read
)
(
THIS_
LPVOID
,
DWORD
,
LPDWORD
)
PURE
;
DECLARE_INTERFACE_
(
IDirectXFileBinary
,
IDirectXFileObject
)
{
IDirectXFileBinary_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/mapidefs.h
View file @
5d0160ea
...
...
@@ -768,35 +768,40 @@ typedef NOTIFCALLBACK *LPNOTIFCALLBACK;
* This is the read-only 'view' over an I(MAPI)TableData object.
*/
#define INTERFACE IMAPITable
#define IMAPITable_METHODS \
IUnknown_METHODS \
STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppError) PURE; \
STDMETHOD(Advise)(THIS_ ULONG ulMask, LPMAPIADVISESINK lpSink, ULONG *lpCxn) PURE; \
STDMETHOD(Unadvise)(THIS_ ULONG ulCxn) PURE; \
STDMETHOD(GetStatus)(THIS_ ULONG *lpStatus, ULONG *lpType) PURE; \
STDMETHOD(SetColumns)(THIS_ LPSPropTagArray lpProps, ULONG ulFlags) PURE; \
STDMETHOD(QueryColumns)(THIS_ ULONG ulFlags, LPSPropTagArray *lpCols) PURE; \
STDMETHOD(GetRowCount)(THIS_ ULONG ulFlags, ULONG *lpCount) PURE; \
STDMETHOD(SeekRow)(THIS_ BOOKMARK lpStart, LONG lRows, LONG *lpSeeked) PURE; \
STDMETHOD(SeekRowApprox)(THIS_ ULONG ulNum, ULONG ulDenom) PURE; \
STDMETHOD(QueryPosition)(THIS_ ULONG *lpRow, ULONG *lpNum, ULONG *lpDenom) PURE; \
STDMETHOD(FindRow)(THIS_ LPSRestriction lpRestrict, BOOKMARK lpOrigin, ULONG ulFlags) PURE; \
STDMETHOD(Restrict)(THIS_ LPSRestriction lpRestrict, ULONG ulFlags) PURE; \
STDMETHOD(CreateBookmark)(THIS_ BOOKMARK *lppPos) PURE; \
STDMETHOD(FreeBookmark)(THIS_ BOOKMARK lpPos) PURE; \
STDMETHOD(SortTable)(THIS_ LPSSortOrderSet lpSortOpts, ULONG ulFlags) PURE; \
STDMETHOD(QuerySortOrder)(THIS_ LPSSortOrderSet *lppSortOpts) PURE; \
STDMETHOD(QueryRows)(THIS_ LONG lRows, ULONG ulFlags, LPSRowSet *lppRows) PURE; \
STDMETHOD(Abort) (THIS) PURE; \
STDMETHOD(ExpandRow)(THIS_ ULONG cbKey, LPBYTE lpKey, ULONG ulRows, \
ULONG ulFlags, LPSRowSet *lppRows, ULONG *lpMore) PURE; \
STDMETHOD(CollapseRow)(THIS_ ULONG cbKey, LPBYTE lpKey, ULONG ulFlags, ULONG *lpRows) PURE; \
STDMETHOD(WaitForCompletion)(THIS_ ULONG ulFlags, ULONG ulTime, ULONG *lpState) PURE; \
STDMETHOD(GetCollapseState)(THIS_ ULONG ulFlags, ULONG cbKey, LPBYTE lpKey, \
ULONG *lpStateLen, LPBYTE *lpState) PURE; \
STDMETHOD(SetCollapseState)(THIS_ ULONG ulFlags, ULONG ulLen, \
DECLARE_INTERFACE_
(
IMAPITable
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPITable methods ***/
STDMETHOD
(
GetLastError
)(
THIS_
HRESULT
hRes
,
ULONG
ulFlags
,
LPMAPIERROR
*
lppError
)
PURE
;
STDMETHOD
(
Advise
)(
THIS_
ULONG
ulMask
,
LPMAPIADVISESINK
lpSink
,
ULONG
*
lpCxn
)
PURE
;
STDMETHOD
(
Unadvise
)(
THIS_
ULONG
ulCxn
)
PURE
;
STDMETHOD
(
GetStatus
)(
THIS_
ULONG
*
lpStatus
,
ULONG
*
lpType
)
PURE
;
STDMETHOD
(
SetColumns
)(
THIS_
LPSPropTagArray
lpProps
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
QueryColumns
)(
THIS_
ULONG
ulFlags
,
LPSPropTagArray
*
lpCols
)
PURE
;
STDMETHOD
(
GetRowCount
)(
THIS_
ULONG
ulFlags
,
ULONG
*
lpCount
)
PURE
;
STDMETHOD
(
SeekRow
)(
THIS_
BOOKMARK
lpStart
,
LONG
lRows
,
LONG
*
lpSeeked
)
PURE
;
STDMETHOD
(
SeekRowApprox
)(
THIS_
ULONG
ulNum
,
ULONG
ulDenom
)
PURE
;
STDMETHOD
(
QueryPosition
)(
THIS_
ULONG
*
lpRow
,
ULONG
*
lpNum
,
ULONG
*
lpDenom
)
PURE
;
STDMETHOD
(
FindRow
)(
THIS_
LPSRestriction
lpRestrict
,
BOOKMARK
lpOrigin
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
Restrict
)(
THIS_
LPSRestriction
lpRestrict
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
CreateBookmark
)(
THIS_
BOOKMARK
*
lppPos
)
PURE
;
STDMETHOD
(
FreeBookmark
)(
THIS_
BOOKMARK
lpPos
)
PURE
;
STDMETHOD
(
SortTable
)(
THIS_
LPSSortOrderSet
lpSortOpts
,
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
QuerySortOrder
)(
THIS_
LPSSortOrderSet
*
lppSortOpts
)
PURE
;
STDMETHOD
(
QueryRows
)(
THIS_
LONG
lRows
,
ULONG
ulFlags
,
LPSRowSet
*
lppRows
)
PURE
;
STDMETHOD
(
Abort
)
(
THIS
)
PURE
;
STDMETHOD
(
ExpandRow
)(
THIS_
ULONG
cbKey
,
LPBYTE
lpKey
,
ULONG
ulRows
,
ULONG
ulFlags
,
LPSRowSet
*
lppRows
,
ULONG
*
lpMore
)
PURE
;
STDMETHOD
(
CollapseRow
)(
THIS_
ULONG
cbKey
,
LPBYTE
lpKey
,
ULONG
ulFlags
,
ULONG
*
lpRows
)
PURE
;
STDMETHOD
(
WaitForCompletion
)(
THIS_
ULONG
ulFlags
,
ULONG
ulTime
,
ULONG
*
lpState
)
PURE
;
STDMETHOD
(
GetCollapseState
)(
THIS_
ULONG
ulFlags
,
ULONG
cbKey
,
LPBYTE
lpKey
,
ULONG
*
lpStateLen
,
LPBYTE
*
lpState
)
PURE
;
STDMETHOD
(
SetCollapseState
)(
THIS_
ULONG
ulFlags
,
ULONG
ulLen
,
LPBYTE
lpStart
,
BOOKMARK
*
lppWhere
)
PURE
;
DECLARE_INTERFACE_
(
IMAPITable
,
IUnknown
)
{
IMAPITable_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -834,10 +839,15 @@ DECLARE_INTERFACE_(IMAPITable,IUnknown) { IMAPITable_METHODS };
* IMAPIAdviseSink interface
*/
#define INTERFACE IMAPIAdviseSink
#define IMAPIAdviseSink_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IMAPIAdviseSink
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPIAdviseSink methods ***/
STDMETHOD
(
OnNotify
)(
THIS_
ULONG
NumNotif
,
LPNOTIFICATION
lpNotif
)
PURE
;
DECLARE_INTERFACE_
(
IMAPIAdviseSink
,
IUnknown
)
{
IMAPIAdviseSink_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -853,24 +863,29 @@ DECLARE_INTERFACE_(IMAPIAdviseSink,IUnknown) { IMAPIAdviseSink_METHODS };
* IMAPIProp interface
*/
#define INTERFACE IMAPIProp
#define IMAPIProp_METHODS \
IUnknown_METHODS \
STDMETHOD(GetLastError)(THIS_ HRESULT hRes, ULONG ulFlags, LPMAPIERROR *lppErr) PURE; \
STDMETHOD(SaveChanges)(THIS_ ULONG ulFlags) PURE; \
STDMETHOD(GetProps)(THIS_ LPSPropTagArray lpPropTags, ULONG ulFlags, ULONG *lpValues, LPSPropValue *lppProps) PURE; \
STDMETHOD(GetPropList)(THIS_ ULONG ulFlags, LPSPropTagArray *lppPropTagArray) PURE; \
STDMETHOD(OpenProperty)(THIS_ ULONG ulPropTag, LPCIID lpIid, ULONG ulOpts, ULONG ulFlags, LPUNKNOWN *lppUnk) PURE; \
STDMETHOD(SetProps)(THIS_ ULONG cValues, LPSPropValue lpProps, LPSPropProblemArray *lppProbs) PURE; \
STDMETHOD(DeleteProps)(THIS_ LPSPropTagArray lpPropTags, LPSPropProblemArray *lppProbs) PURE; \
STDMETHOD(CopyTo)(THIS_ ULONG ciidExclude, LPCIID lpIid, LPSPropTagArray lpProps, ULONG ulParam, \
LPMAPIPROGRESS lpProgress, LPCIID lpIface,LPVOID lpDest, ULONG ulFlags, \
LPSPropProblemArray *lppProbs) PURE; \
STDMETHOD(CopyProps)(THIS_ LPSPropTagArray lpIncludeProps, ULONG ulParam, LPMAPIPROGRESS lpProgress, \
LPCIID lpIid, LPVOID lpDestObj, ULONG ulFlags, LPSPropProblemArray *lppProblems) PURE; \
STDMETHOD(GetNamesFromIDs)(THIS_ LPSPropTagArray *lppPropTags, LPGUID lpIid, ULONG ulFlags, ULONG *lpCount, \
LPMAPINAMEID **lpppNames) PURE; \
DECLARE_INTERFACE_
(
IMAPIProp
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPIProp methods ***/
STDMETHOD
(
GetLastError
)(
THIS_
HRESULT
hRes
,
ULONG
ulFlags
,
LPMAPIERROR
*
lppErr
)
PURE
;
STDMETHOD
(
SaveChanges
)(
THIS_
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
GetProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
ULONG
ulFlags
,
ULONG
*
lpValues
,
LPSPropValue
*
lppProps
)
PURE
;
STDMETHOD
(
GetPropList
)(
THIS_
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTagArray
)
PURE
;
STDMETHOD
(
OpenProperty
)(
THIS_
ULONG
ulPropTag
,
LPCIID
lpIid
,
ULONG
ulOpts
,
ULONG
ulFlags
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
SetProps
)(
THIS_
ULONG
cValues
,
LPSPropValue
lpProps
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
DeleteProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyTo
)(
THIS_
ULONG
ciidExclude
,
LPCIID
lpIid
,
LPSPropTagArray
lpProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIface
,
LPVOID
lpDest
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyProps
)(
THIS_
LPSPropTagArray
lpIncludeProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIid
,
LPVOID
lpDestObj
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProblems
)
PURE
;
STDMETHOD
(
GetNamesFromIDs
)(
THIS_
LPSPropTagArray
*
lppPropTags
,
LPGUID
lpIid
,
ULONG
ulFlags
,
ULONG
*
lpCount
,
LPMAPINAMEID
**
lpppNames
)
PURE
;
STDMETHOD
(
GetIDsFromNames
)(
THIS_
ULONG
cPropNames
,
LPMAPINAMEID
*
lppNames
,
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTags
)
PURE
;
DECLARE_INTERFACE_
(
IMAPIProp
,
IUnknown
)
{
IMAPIProp_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/mapiutil.h
View file @
5d0160ea
...
...
@@ -124,19 +124,24 @@ typedef void (WINAPI CALLERRELEASE)(ULONG,LPTABLEDATA,LPMAPITABLE);
* The underlying table data structure for IMAPITable.
*/
#define INTERFACE ITableData
#define ITableData_METHODS \
IUnknown_METHODS \
STDMETHOD(HrGetView)(THIS_ LPSSortOrderSet lpSort, CALLERRELEASE *lpRel, \
ULONG ulData, LPMAPITABLE *lppTable) PURE; \
STDMETHOD(HrModifyRow)(THIS_ LPSRow lpRow) PURE; \
STDMETHOD(HrDeleteRow)(THIS_ LPSPropValue lpKey) PURE; \
STDMETHOD(HrQueryRow)(THIS_ LPSPropValue lpKey, LPSRow *lppRow, ULONG *lpRowNum) PURE; \
STDMETHOD(HrEnumRow)(THIS_ ULONG ulRowNum, LPSRow *lppRow) PURE; \
STDMETHOD(HrNotify)(THIS_ ULONG ulFlags, ULONG cValues, LPSPropValue lpValues) PURE; \
STDMETHOD(HrInsertRow)(THIS_ ULONG ulRow, LPSRow lpRow) PURE; \
STDMETHOD(HrModifyRows)(THIS_ ULONG ulFlags, LPSRowSet lpRows) PURE; \
DECLARE_INTERFACE_
(
ITableData
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** ITableData methods ***/
STDMETHOD
(
HrGetView
)(
THIS_
LPSSortOrderSet
lpSort
,
CALLERRELEASE
*
lpRel
,
ULONG
ulData
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
HrModifyRow
)(
THIS_
LPSRow
lpRow
)
PURE
;
STDMETHOD
(
HrDeleteRow
)(
THIS_
LPSPropValue
lpKey
)
PURE
;
STDMETHOD
(
HrQueryRow
)(
THIS_
LPSPropValue
lpKey
,
LPSRow
*
lppRow
,
ULONG
*
lpRowNum
)
PURE
;
STDMETHOD
(
HrEnumRow
)(
THIS_
ULONG
ulRowNum
,
LPSRow
*
lppRow
)
PURE
;
STDMETHOD
(
HrNotify
)(
THIS_
ULONG
ulFlags
,
ULONG
cValues
,
LPSPropValue
lpValues
)
PURE
;
STDMETHOD
(
HrInsertRow
)(
THIS_
ULONG
ulRow
,
LPSRow
lpRow
)
PURE
;
STDMETHOD
(
HrModifyRows
)(
THIS_
ULONG
ulFlags
,
LPSRowSet
lpRows
)
PURE
;
STDMETHOD
(
HrDeleteRows
)(
THIS_
ULONG
ulFlags
,
LPSRowSet
lpRows
,
ULONG
*
lpCount
)
PURE
;
DECLARE_INTERFACE_
(
ITableData
,
IUnknown
)
{
ITableData_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -214,13 +219,34 @@ static inline FILETIME FtMulDwDw(DWORD dwLeft, DWORD dwRight)
*
*/
#define INTERFACE IPropData
#define IPropData_METHODS \
IMAPIProp_METHODS \
STDMETHOD(HrSetObjAccess)(THIS_ ULONG ulAccess) PURE; \
STDMETHOD(HrSetPropAccess)(THIS_ LPSPropTagArray lpPropTags, ULONG *lpAccess) PURE; \
STDMETHOD(HrGetPropAccess)(THIS_ LPSPropTagArray *lppPropTags, ULONG **lppAccess) PURE; \
DECLARE_INTERFACE_
(
IPropData
,
IMAPIProp
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPIProp methods ***/
STDMETHOD
(
GetLastError
)(
THIS_
HRESULT
hRes
,
ULONG
ulFlags
,
LPMAPIERROR
*
lppErr
)
PURE
;
STDMETHOD
(
SaveChanges
)(
THIS_
ULONG
ulFlags
)
PURE
;
STDMETHOD
(
GetProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
ULONG
ulFlags
,
ULONG
*
lpValues
,
LPSPropValue
*
lppProps
)
PURE
;
STDMETHOD
(
GetPropList
)(
THIS_
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTagArray
)
PURE
;
STDMETHOD
(
OpenProperty
)(
THIS_
ULONG
ulPropTag
,
LPCIID
lpIid
,
ULONG
ulOpts
,
ULONG
ulFlags
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
SetProps
)(
THIS_
ULONG
cValues
,
LPSPropValue
lpProps
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
DeleteProps
)(
THIS_
LPSPropTagArray
lpPropTags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyTo
)(
THIS_
ULONG
ciidExclude
,
LPCIID
lpIid
,
LPSPropTagArray
lpProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIface
,
LPVOID
lpDest
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
STDMETHOD
(
CopyProps
)(
THIS_
LPSPropTagArray
lpIncludeProps
,
ULONG
ulParam
,
LPMAPIPROGRESS
lpProgress
,
LPCIID
lpIid
,
LPVOID
lpDestObj
,
ULONG
ulFlags
,
LPSPropProblemArray
*
lppProblems
)
PURE
;
STDMETHOD
(
GetNamesFromIDs
)(
THIS_
LPSPropTagArray
*
lppPropTags
,
LPGUID
lpIid
,
ULONG
ulFlags
,
ULONG
*
lpCount
,
LPMAPINAMEID
**
lpppNames
)
PURE
;
STDMETHOD
(
GetIDsFromNames
)(
THIS_
ULONG
cPropNames
,
LPMAPINAMEID
*
lppNames
,
ULONG
ulFlags
,
LPSPropTagArray
*
lppPropTags
)
PURE
;
/*** IPropData methods ***/
STDMETHOD
(
HrSetObjAccess
)(
THIS_
ULONG
ulAccess
)
PURE
;
STDMETHOD
(
HrSetPropAccess
)(
THIS_
LPSPropTagArray
lpPropTags
,
ULONG
*
lpAccess
)
PURE
;
STDMETHOD
(
HrGetPropAccess
)(
THIS_
LPSPropTagArray
*
lppPropTags
,
ULONG
**
lppAccess
)
PURE
;
STDMETHOD
(
HrAddObjProps
)(
THIS_
LPSPropTagArray
lppPropTags
,
LPSPropProblemArray
*
lppProbs
)
PURE
;
DECLARE_INTERFACE_
(
IPropData
,
IMAPIProp
)
{
IPropData_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/mapix.h
View file @
5d0160ea
...
...
@@ -103,36 +103,41 @@ MAPIFREEBUFFER MAPIFreeBuffer;
* IMAPISession interface
*/
#define INTERFACE IMAPISession
#define IMAPISession_METHODS \
IUnknown_METHODS \
STDMETHOD(GetLastError)(THIS_ HRESULT hResult, ULONG ulFlags, LPMAPIERROR *lppMAPIError) PURE; \
STDMETHOD(GetMsgStoresTable)(THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) PURE; \
STDMETHOD(OpenMsgStore)(THIS_ ULONG_PTR ulUIParam, ULONG cbId, \
LPENTRYID lpId, LPCIID lpIFace, ULONG ulFlags, LPMDB *lppMDB) PURE; \
STDMETHOD(OpenAddressBook)(THIS_ ULONG_PTR ulUIParam, LPCIID iid, ULONG ulFlags, LPADRBOOK *lppAdrBook) PURE; \
STDMETHOD(OpenProfileSection)(THIS_ LPMAPIUID lpUID, LPCIID iid, ULONG ulFlags, LPPROFSECT *lppProf) PURE; \
STDMETHOD(GetStatusTable)(THIS_ ULONG ulFlags, LPMAPITABLE *lppTable) PURE; \
STDMETHOD(OpenEntry)(THIS_ ULONG cbId, LPENTRYID lpId, LPCIID iid, \
ULONG ulFlags, ULONG *lpType, LPUNKNOWN *lppUnk) PURE; \
STDMETHOD(CompareEntryIDs)(THIS_ ULONG cbLID, LPENTRYID lpLID, ULONG cbRID, \
LPENTRYID lpRID, ULONG ulFlags, ULONG *lpRes) PURE; \
STDMETHOD(Advise)(THIS_ ULONG cbId, LPENTRYID lpId, ULONG ulMask, \
LPMAPIADVISESINK lpSink, ULONG *lpCxn) PURE;\
STDMETHOD(Unadvise)(THIS_ ULONG ulConnection) PURE;\
STDMETHOD(MessageOptions)(THIS_ ULONG_PTR ulUIParam, ULONG ulFlags, LPSTR lpszAddr, LPMESSAGE lpMsg) PURE; \
STDMETHOD(QueryDefaultMessageOpt)(THIS_ LPSTR lpszAddr, ULONG ulFlags, \
ULONG *lpcVals, LPSPropValue *lppOpts) PURE; \
STDMETHOD(EnumAdrTypes)(THIS_ ULONG ulFlags, ULONG *lpcTypes, LPSTR **lpppszTypes) PURE; \
STDMETHOD(QueryIdentity)(THIS_ ULONG *lpcbId, LPENTRYID *lppEntryID) PURE; \
STDMETHOD(Logoff)(THIS_ ULONG_PTR ulUIParam, ULONG ulFlags, ULONG ulReserved) PURE; \
STDMETHOD(SetDefaultStore)(THIS_ ULONG ulFlags, ULONG cbId, LPENTRYID lpId) PURE; \
STDMETHOD(AdminServices)(THIS_ ULONG ulFlags, LPSERVICEADMIN *lppAdmin) PURE; \
STDMETHOD(ShowForm)(THIS_ ULONG_PTR ulUIParam, LPMDB lpStore, \
LPMAPIFOLDER lpParent, LPCIID iid, ULONG ulToken, \
LPMESSAGE lpSent, ULONG ulFlags, ULONG ulStatus, \
ULONG ulMsgFlags, ULONG ulAccess, LPSTR lpszClass) PURE; \
DECLARE_INTERFACE_
(
IMAPISession
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IMAPISession methods ***/
STDMETHOD
(
GetLastError
)(
THIS_
HRESULT
hResult
,
ULONG
ulFlags
,
LPMAPIERROR
*
lppMAPIError
)
PURE
;
STDMETHOD
(
GetMsgStoresTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
OpenMsgStore
)(
THIS_
ULONG_PTR
ulUIParam
,
ULONG
cbId
,
LPENTRYID
lpId
,
LPCIID
lpIFace
,
ULONG
ulFlags
,
LPMDB
*
lppMDB
)
PURE
;
STDMETHOD
(
OpenAddressBook
)(
THIS_
ULONG_PTR
ulUIParam
,
LPCIID
iid
,
ULONG
ulFlags
,
LPADRBOOK
*
lppAdrBook
)
PURE
;
STDMETHOD
(
OpenProfileSection
)(
THIS_
LPMAPIUID
lpUID
,
LPCIID
iid
,
ULONG
ulFlags
,
LPPROFSECT
*
lppProf
)
PURE
;
STDMETHOD
(
GetStatusTable
)(
THIS_
ULONG
ulFlags
,
LPMAPITABLE
*
lppTable
)
PURE
;
STDMETHOD
(
OpenEntry
)(
THIS_
ULONG
cbId
,
LPENTRYID
lpId
,
LPCIID
iid
,
ULONG
ulFlags
,
ULONG
*
lpType
,
LPUNKNOWN
*
lppUnk
)
PURE
;
STDMETHOD
(
CompareEntryIDs
)(
THIS_
ULONG
cbLID
,
LPENTRYID
lpLID
,
ULONG
cbRID
,
LPENTRYID
lpRID
,
ULONG
ulFlags
,
ULONG
*
lpRes
)
PURE
;
STDMETHOD
(
Advise
)(
THIS_
ULONG
cbId
,
LPENTRYID
lpId
,
ULONG
ulMask
,
LPMAPIADVISESINK
lpSink
,
ULONG
*
lpCxn
)
PURE
;
STDMETHOD
(
Unadvise
)(
THIS_
ULONG
ulConnection
)
PURE
;
STDMETHOD
(
MessageOptions
)(
THIS_
ULONG_PTR
ulUIParam
,
ULONG
ulFlags
,
LPSTR
lpszAddr
,
LPMESSAGE
lpMsg
)
PURE
;
STDMETHOD
(
QueryDefaultMessageOpt
)(
THIS_
LPSTR
lpszAddr
,
ULONG
ulFlags
,
ULONG
*
lpcVals
,
LPSPropValue
*
lppOpts
)
PURE
;
STDMETHOD
(
EnumAdrTypes
)(
THIS_
ULONG
ulFlags
,
ULONG
*
lpcTypes
,
LPSTR
**
lpppszTypes
)
PURE
;
STDMETHOD
(
QueryIdentity
)(
THIS_
ULONG
*
lpcbId
,
LPENTRYID
*
lppEntryID
)
PURE
;
STDMETHOD
(
Logoff
)(
THIS_
ULONG_PTR
ulUIParam
,
ULONG
ulFlags
,
ULONG
ulReserved
)
PURE
;
STDMETHOD
(
SetDefaultStore
)(
THIS_
ULONG
ulFlags
,
ULONG
cbId
,
LPENTRYID
lpId
)
PURE
;
STDMETHOD
(
AdminServices
)(
THIS_
ULONG
ulFlags
,
LPSERVICEADMIN
*
lppAdmin
)
PURE
;
STDMETHOD
(
ShowForm
)(
THIS_
ULONG_PTR
ulUIParam
,
LPMDB
lpStore
,
LPMAPIFOLDER
lpParent
,
LPCIID
iid
,
ULONG
ulToken
,
LPMESSAGE
lpSent
,
ULONG
ulFlags
,
ULONG
ulStatus
,
ULONG
ulMsgFlags
,
ULONG
ulAccess
,
LPSTR
lpszClass
)
PURE
;
STDMETHOD
(
PrepareForm
)(
THIS_
LPCIID
lpIFace
,
LPMESSAGE
lpMsg
,
ULONG
*
lpToken
)
PURE
;
DECLARE_INTERFACE_
(
IMAPISession
,
IUnknown
)
{
IMAPISession_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
include/objbase.h
View file @
5d0160ea
...
...
@@ -51,15 +51,20 @@
* Let's take Direct3D as an example:
*
* #define INTERFACE IDirect3D
* #define IDirect3D_METHODS \
* IUnknown_METHODS \
* STDMETHOD(Initialize)(THIS_ REFIID) PURE; \
* STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK, LPVOID) PURE; \
* STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT*, IUnknown*) PURE; \
* STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL*, IUnknown*) PURE; \
* STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT*, IUnknown*) PURE; \
* DECLARE_INTERFACE_(IDirect3D,IUnknown)
* {
* // *** IUnknown methods *** //
* STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID, void**) PURE;
* STDMETHOD_(ULONG,AddRef)(THIS) PURE;
* STDMETHOD_(ULONG,Release)(THIS) PURE;
* // *** IDirect3D methods *** //
* STDMETHOD(Initialize)(THIS_ REFIID) PURE;
* STDMETHOD(EnumDevices)(THIS_ LPD3DENUMDEVICESCALLBACK, LPVOID) PURE;
* STDMETHOD(CreateLight)(THIS_ LPDIRECT3DLIGHT *, IUnknown *) PURE;
* STDMETHOD(CreateMaterial)(THIS_ LPDIRECT3DMATERIAL *, IUnknown *) PURE;
* STDMETHOD(CreateViewport)(THIS_ LPDIRECT3DVIEWPORT *, IUnknown *) PURE;
* STDMETHOD(FindDevice)(THIS_ LPD3DFINDDEVICESEARCH, LPD3DFINDDEVICERESULT) PURE;
*
DECLARE_INTERFACE_(IDirect3D,IUnknown) { IDirect3D_METHODS
};
* };
* #undef INTERFACE
*
* #ifdef COBJMACROS
...
...
@@ -82,12 +87,12 @@
* name everywhere. Note however that because of the way macros work, a macro like STDMETHOD
* cannot use 'INTERFACE##_VTABLE' because this would give 'INTERFACE_VTABLE' and not
* 'IDirect3D_VTABLE'.
* -
ICOM_METHODS defines the list of methods that are inheritable from this interface. It must
*
be written manually (rather than using a macro to generate the equivalent code) to avoid
* m
acro recursion (which compilers don't like). It must start with the METHODS definitio
n
*
of the parent interface so that method inheritance works properly.
*
- The DECLARE_INTERFACE finally declares all the structures necessary for the interface. We have
*
to explicitly use the interface name for macro expansion reasons again
.
* -
The DECLARE_INTERFACE declares all the structures necessary for the interface. We have to
*
explicitly use the interface name for macro expansion reasons again. It defines the list of
* m
ethods that are inheritable from this interface. It must be written manually (rather tha
n
*
using a macro to generate the equivalent code) to avoid macro recursion (which compilers
*
don't like). It must start with the methods definition of the parent interface so that
*
method inheritance works properly
.
* - The 'undef INTERFACE' is here to remind you that using INTERFACE in the following macros
* will not work.
* - Finally the set of 'IDirect3D_Xxx' macros is a standard set of macros defined to ease access
...
...
@@ -137,9 +142,7 @@
* the user needs to know to use the interface. Of course the structure we will define to
* implement this interface will have more fields but the first one will match this pointer.
* - The code generated by DECLARE_INTERFACE defines both the structure representing the interface and
* the structure for the jump table. DECLARE_INTERFACE uses the parent's Xxx_METHODS macro to
* automatically repeat the prototypes of all the inherited methods and then uses IDirect3D_METHODS
* to define the IDirect3D methods.
* the structure for the jump table.
* - Each method is declared as a pointer to function field in the jump table. The implementation
* will fill this jump table with appropriate values, probably using a static variable, and
* initialize the lpVtbl field to point to this variable.
...
...
include/oledlg.h
View file @
5d0160ea
...
...
@@ -659,37 +659,47 @@ DECL_WINELIB_TYPE_AW(LPOLEUICHANGESOURCE)
* IOleUILinkContainer interface
*/
#define INTERFACE IOleUILinkContainerA
#define IOleUILinkContainerA_METHODS \
IUnknown_METHODS \
STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPSTR lpszDisplayName, \
ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPSTR *lplpszDisplayName, ULONG *lplenFileName, \
LPSTR *lplpszFullLinkType, LPSTR *lplpszShortLinkType, \
BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
DECLARE_INTERFACE_
(
IOleUILinkContainerA
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IOleUILinkContainerA methods ***/
STDMETHOD_
(
DWORD
,
GetNextLink
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
SetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
dwUpdateOpt
)
PURE
;
STDMETHOD
(
GetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
*
lpdwUpdateOpt
)
PURE
;
STDMETHOD
(
SetLinkSource
)(
THIS_
DWORD
dwLink
,
LPSTR
lpszDisplayName
,
ULONG
lenFileName
,
ULONG
*
pchEaten
,
BOOL
fValidateSource
)
PURE
;
STDMETHOD
(
GetLinkSource
)(
THIS_
DWORD
dwLink
,
LPSTR
*
lplpszDisplayName
,
ULONG
*
lplenFileName
,
LPSTR
*
lplpszFullLinkType
,
LPSTR
*
lplpszShortLinkType
,
BOOL
*
lpfSourceAvailable
,
BOOL
*
lpfIsSelected
)
PURE
;
STDMETHOD
(
OpenLinkSource
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
UpdateLink
)(
THIS_
DWORD
dwLink
,
BOOL
fErrorMessage
,
BOOL
fReserved
)
PURE
;
STDMETHOD
(
CancelLink
)(
THIS_
DWORD
dwLink
)
PURE
;
DECLARE_INTERFACE_
(
IOleUILinkContainerA
,
IUnknown
)
{
IOleUILinkContainerA_METHODS
};
};
#undef INTERFACE
#define INTERFACE IOleUILinkContainerW
#define IOleUILinkContainerW_METHODS \
IUnknown_METHODS \
STDMETHOD_(DWORD,GetNextLink)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(SetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD dwUpdateOpt) PURE; \
STDMETHOD(GetLinkUpdateOptions)(THIS_ DWORD dwLink, DWORD *lpdwUpdateOpt) PURE; \
STDMETHOD(SetLinkSource)(THIS_ DWORD dwLink, LPWSTR lpszDisplayName, \
ULONG lenFileName, ULONG *pchEaten, BOOL fValidateSource) PURE; \
STDMETHOD(GetLinkSource)(THIS_ DWORD dwLink, LPWSTR *lplpszDisplayName, ULONG *lplenFileName, \
LPWSTR *lplpszFullLinkType, LPWSTR *lplpszShortLinkType, \
BOOL *lpfSourceAvailable, BOOL *lpfIsSelected) PURE; \
STDMETHOD(OpenLinkSource)(THIS_ DWORD dwLink) PURE; \
STDMETHOD(UpdateLink)(THIS_ DWORD dwLink, BOOL fErrorMessage, BOOL fReserved) PURE; \
DECLARE_INTERFACE_
(
IOleUILinkContainerW
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IOleUILinkContainerW methods ***/
STDMETHOD_
(
DWORD
,
GetNextLink
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
SetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
dwUpdateOpt
)
PURE
;
STDMETHOD
(
GetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
*
lpdwUpdateOpt
)
PURE
;
STDMETHOD
(
SetLinkSource
)(
THIS_
DWORD
dwLink
,
LPWSTR
lpszDisplayName
,
ULONG
lenFileName
,
ULONG
*
pchEaten
,
BOOL
fValidateSource
)
PURE
;
STDMETHOD
(
GetLinkSource
)(
THIS_
DWORD
dwLink
,
LPWSTR
*
lplpszDisplayName
,
ULONG
*
lplenFileName
,
LPWSTR
*
lplpszFullLinkType
,
LPWSTR
*
lplpszShortLinkType
,
BOOL
*
lpfSourceAvailable
,
BOOL
*
lpfIsSelected
)
PURE
;
STDMETHOD
(
OpenLinkSource
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
UpdateLink
)(
THIS_
DWORD
dwLink
,
BOOL
fErrorMessage
,
BOOL
fReserved
)
PURE
;
STDMETHOD
(
CancelLink
)(
THIS_
DWORD
dwLink
)
PURE
;
DECLARE_INTERFACE_
(
IOleUILinkContainerW
,
IUnknown
)
{
IOleUILinkContainerW_METHODS
};
};
#undef INTERFACE
DECL_WINELIB_TYPE_AW
(
IOleUILinkContainer
)
...
...
@@ -717,17 +727,51 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKCONTAINER)
* IOleUILinkInfo interface
*/
#define INTERFACE IOleUILinkInfoA
#define IOleUILinkInfoA_METHODS \
IOleUILinkContainerA_METHODS \
DECLARE_INTERFACE_
(
IOleUILinkInfoA
,
IOleUILinkContainerA
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IOleUILinkContainerA methods ***/
STDMETHOD_
(
DWORD
,
GetNextLink
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
SetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
dwUpdateOpt
)
PURE
;
STDMETHOD
(
GetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
*
lpdwUpdateOpt
)
PURE
;
STDMETHOD
(
SetLinkSource
)(
THIS_
DWORD
dwLink
,
LPSTR
lpszDisplayName
,
ULONG
lenFileName
,
ULONG
*
pchEaten
,
BOOL
fValidateSource
)
PURE
;
STDMETHOD
(
GetLinkSource
)(
THIS_
DWORD
dwLink
,
LPSTR
*
lplpszDisplayName
,
ULONG
*
lplenFileName
,
LPSTR
*
lplpszFullLinkType
,
LPSTR
*
lplpszShortLinkType
,
BOOL
*
lpfSourceAvailable
,
BOOL
*
lpfIsSelected
)
PURE
;
STDMETHOD
(
OpenLinkSource
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
UpdateLink
)(
THIS_
DWORD
dwLink
,
BOOL
fErrorMessage
,
BOOL
fReserved
)
PURE
;
STDMETHOD
(
CancelLink
)(
THIS_
DWORD
dwLink
)
PURE
;
/*** IOleUILinkInfoA methods ***/
STDMETHOD
(
GetLastUpdate
)(
THIS_
DWORD
dwLink
,
FILETIME
*
lpLastUpdate
)
PURE
;
DECLARE_INTERFACE_
(
IOleUILinkInfoA
,
IOleUILinkContainerA
)
{
IOleUILinkInfoA_METHODS
};
};
#undef INTERFACE
#define INTERFACE IOleUILinkInfoW
#define IOleUILinkInfoW_METHODS \
IOleUILinkContainerW_METHODS \
DECLARE_INTERFACE_
(
IOleUILinkInfoW
,
IOleUILinkContainerW
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IOleUILinkContainerW methods ***/
STDMETHOD_
(
DWORD
,
GetNextLink
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
SetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
dwUpdateOpt
)
PURE
;
STDMETHOD
(
GetLinkUpdateOptions
)(
THIS_
DWORD
dwLink
,
DWORD
*
lpdwUpdateOpt
)
PURE
;
STDMETHOD
(
SetLinkSource
)(
THIS_
DWORD
dwLink
,
LPWSTR
lpszDisplayName
,
ULONG
lenFileName
,
ULONG
*
pchEaten
,
BOOL
fValidateSource
)
PURE
;
STDMETHOD
(
GetLinkSource
)(
THIS_
DWORD
dwLink
,
LPWSTR
*
lplpszDisplayName
,
ULONG
*
lplenFileName
,
LPWSTR
*
lplpszFullLinkType
,
LPWSTR
*
lplpszShortLinkType
,
BOOL
*
lpfSourceAvailable
,
BOOL
*
lpfIsSelected
)
PURE
;
STDMETHOD
(
OpenLinkSource
)(
THIS_
DWORD
dwLink
)
PURE
;
STDMETHOD
(
UpdateLink
)(
THIS_
DWORD
dwLink
,
BOOL
fErrorMessage
,
BOOL
fReserved
)
PURE
;
STDMETHOD
(
CancelLink
)(
THIS_
DWORD
dwLink
)
PURE
;
/*** IOleUILinkInfoW methods ***/
STDMETHOD
(
GetLastUpdate
)(
THIS_
DWORD
dwLink
,
FILETIME
*
lpLastUpdate
)
PURE
;
DECLARE_INTERFACE_
(
IOleUILinkInfoW
,
IOleUILinkContainerW
)
{
IOleUILinkInfoW_METHODS
};
};
#undef INTERFACE
DECL_WINELIB_TYPE_AW
(
IOleUILinkInfo
)
...
...
@@ -757,31 +801,41 @@ DECL_WINELIB_TYPE_AW(LPOLEUILINKINFO)
* IOleUIObjInfo interface
*/
#define INTERFACE IOleUIObjInfoA
#define IOleUIObjInfoA_METHODS \
IUnknown_METHODS \
STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPSTR *lplpszLabel, \
LPSTR *lplpszType, LPSTR *lplpszShortType, LPSTR *lplpszLocation) PURE; \
STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
DECLARE_INTERFACE_
(
IOleUIObjInfoA
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IOleUIObjInfoA methods ***/
STDMETHOD
(
GetObjectInfo
)(
THIS_
DWORD
dwObject
,
DWORD
*
lpdwObjSize
,
LPSTR
*
lplpszLabel
,
LPSTR
*
lplpszType
,
LPSTR
*
lplpszShortType
,
LPSTR
*
lplpszLocation
)
PURE
;
STDMETHOD
(
GetConvertInfo
)(
THIS_
DWORD
dwObject
,
CLSID
*
lpClassID
,
WORD
*
lpwFormat
,
CLSID
*
lpConvertDefaultClassID
,
LPCLSID
*
lplpClsidExclude
,
UINT
*
lpcClsidExclude
)
PURE
;
STDMETHOD
(
ConvertObject
)(
THIS_
DWORD
dwObject
,
REFCLSID
clsidNew
)
PURE
;
STDMETHOD
(
GetViewInfo
)(
THIS_
DWORD
dwObject
,
HGLOBAL
*
phMetaPict
,
DWORD
*
pdvAspect
,
INT
*
pnCurrentScale
)
PURE
;
STDMETHOD
(
SetViewInfo
)(
THIS_
DWORD
dwObject
,
HGLOBAL
hMetaPict
,
DWORD
dvAspect
,
INT
nCurrentScale
,
BOOL
bRelativeToOrig
)
PURE
;
DECLARE_INTERFACE_
(
IOleUIObjInfoA
,
IUnknown
)
{
IOleUIObjInfoA_METHODS
};
};
#undef INTERFACE
#define INTERFACE IOleUIObjInfoW
#define IOleUIObjInfoW_METHODS \
IUnknown_METHODS \
STDMETHOD(GetObjectInfo)(THIS_ DWORD dwObject, DWORD *lpdwObjSize, LPWSTR *lplpszLabel, \
LPWSTR *lplpszType, LPWSTR *lplpszShortType, LPWSTR *lplpszLocation) PURE; \
STDMETHOD(GetConvertInfo)(THIS_ DWORD dwObject, CLSID *lpClassID, WORD *lpwFormat, \
CLSID *lpConvertDefaultClassID, LPCLSID *lplpClsidExclude, UINT *lpcClsidExclude) PURE; \
STDMETHOD(ConvertObject)(THIS_ DWORD dwObject, REFCLSID clsidNew) PURE; \
STDMETHOD(GetViewInfo)(THIS_ DWORD dwObject, HGLOBAL *phMetaPict, DWORD *pdvAspect, INT *pnCurrentScale) PURE; \
STDMETHOD(SetViewInfo)(THIS_ DWORD dwObject, HGLOBAL hMetaPict, DWORD dvAspect, \
DECLARE_INTERFACE_
(
IOleUIObjInfoW
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IOleUIObjInfoW methods ***/
STDMETHOD
(
GetObjectInfo
)(
THIS_
DWORD
dwObject
,
DWORD
*
lpdwObjSize
,
LPWSTR
*
lplpszLabel
,
LPWSTR
*
lplpszType
,
LPWSTR
*
lplpszShortType
,
LPWSTR
*
lplpszLocation
)
PURE
;
STDMETHOD
(
GetConvertInfo
)(
THIS_
DWORD
dwObject
,
CLSID
*
lpClassID
,
WORD
*
lpwFormat
,
CLSID
*
lpConvertDefaultClassID
,
LPCLSID
*
lplpClsidExclude
,
UINT
*
lpcClsidExclude
)
PURE
;
STDMETHOD
(
ConvertObject
)(
THIS_
DWORD
dwObject
,
REFCLSID
clsidNew
)
PURE
;
STDMETHOD
(
GetViewInfo
)(
THIS_
DWORD
dwObject
,
HGLOBAL
*
phMetaPict
,
DWORD
*
pdvAspect
,
INT
*
pnCurrentScale
)
PURE
;
STDMETHOD
(
SetViewInfo
)(
THIS_
DWORD
dwObject
,
HGLOBAL
hMetaPict
,
DWORD
dvAspect
,
INT
nCurrentScale
,
BOOL
bRelativeToOrig
)
PURE
;
DECLARE_INTERFACE_
(
IOleUIObjInfoW
,
IUnknown
)
{
IOleUIObjInfoW_METHODS
};
};
#undef INTERFACE
DECL_WINELIB_TYPE_AW
(
IOleUIObjInfo
)
...
...
include/shlobj.h
View file @
5d0160ea
...
...
@@ -186,10 +186,15 @@ typedef GUID SHELLVIEWID;
*/
#define INTERFACE IShellIcon
#define IShellIcon_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IShellIcon
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IShellIcon methods ***/
STDMETHOD
(
GetIconOf
)(
THIS_
LPCITEMIDLIST
pidl
,
UINT
flags
,
LPINT
lpIconIndex
)
PURE
;
DECLARE_INTERFACE_
(
IShellIcon
,
IUnknown
)
{
IShellIcon_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -802,11 +807,15 @@ void WINAPI SHChangeNotify(LONG wEventId, UINT uFlags, LPCVOID dwItem1, LPCVOID
typedef
struct
IShellChangeNotify
IShellChangeNotify
,
*
LPSHELLCHANGENOTIFY
;
#define INTERFACE IShellChangeNotify
#define IShellChangeNotify_METHODS \
IUnknown_METHODS \
DECLARE_INTERFACE_
(
IShellChangeNotify
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IShellChangeNotify methods ***/
STDMETHOD
(
OnChange
)(
THIS_
LONG
lEvent
,
LPCITEMIDLIST
pidl1
,
LPCITEMIDLIST
pidl2
)
PURE
;
DECLARE_INTERFACE_
(
IShellChangeNotify
,
IUnknown
)
{
IShellChangeNotify_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1127,15 +1136,6 @@ struct IFileSystemBindDataVtbl {
#endif
#define IFileSystemBindData_METHODS \
/*** IUnknown methods ***/
\
STDMETHOD_(HRESULT,QueryInterface)(THIS_ REFIID riid, void** ppvObject) PURE; \
STDMETHOD_(ULONG,AddRef)(THIS) PURE; \
STDMETHOD_(ULONG,Release)(THIS) PURE; \
/*** IFileSystemBindData methods ***/
\
STDMETHOD_(HRESULT,GetFindData)(THIS_ WIN32_FIND_DATAW* pfd) PURE; \
STDMETHOD_(HRESULT,SetFindData)(THIS_ const WIN32_FIND_DATAW* pfd) PURE;
#endif
/* __IFileSystemBindData_INTERFACE_DEFINED__ */
LPITEMIDLIST
WINAPI
ILAppendID
(
LPITEMIDLIST
,
LPCSHITEMID
,
BOOL
);
...
...
include/shlwapi.h
View file @
5d0160ea
...
...
@@ -245,14 +245,19 @@ typedef enum
typedef
struct
IQueryAssociations
IQueryAssociations
,
*
LPQUERYASSOCIATIONS
;
#define INTERFACE IQueryAssociations
#define IQueryAssociations_METHODS \
IUnknown_METHODS \
STDMETHOD(Init)(THIS_ ASSOCF flags, LPCWSTR pszAssoc, HKEY hkProgid, HWND hwnd) PURE; \
STDMETHOD(GetString)(THIS_ ASSOCF flags, ASSOCSTR str, LPCWSTR pszExtra, LPWSTR pszOut, DWORD * pcchOut) PURE; \
STDMETHOD(GetKey)(THIS_ ASSOCF flags, ASSOCKEY key, LPCWSTR pszExtra, HKEY * phkeyOut) PURE; \
STDMETHOD(GetData)(THIS_ ASSOCF flags, ASSOCDATA data, LPCWSTR pszExtra, LPVOID pvOut, DWORD * pcbOut) PURE; \
DECLARE_INTERFACE_
(
IQueryAssociations
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IQueryAssociations methods ***/
STDMETHOD
(
Init
)(
THIS_
ASSOCF
flags
,
LPCWSTR
pszAssoc
,
HKEY
hkProgid
,
HWND
hwnd
)
PURE
;
STDMETHOD
(
GetString
)(
THIS_
ASSOCF
flags
,
ASSOCSTR
str
,
LPCWSTR
pszExtra
,
LPWSTR
pszOut
,
DWORD
*
pcchOut
)
PURE
;
STDMETHOD
(
GetKey
)(
THIS_
ASSOCF
flags
,
ASSOCKEY
key
,
LPCWSTR
pszExtra
,
HKEY
*
phkeyOut
)
PURE
;
STDMETHOD
(
GetData
)(
THIS_
ASSOCF
flags
,
ASSOCDATA
data
,
LPCWSTR
pszExtra
,
LPVOID
pvOut
,
DWORD
*
pcbOut
)
PURE
;
STDMETHOD
(
GetEnum
)(
THIS_
ASSOCF
flags
,
ASSOCENUM
assocenum
,
LPCWSTR
pszExtra
,
REFIID
riid
,
LPVOID
*
ppvOut
)
PURE
;
DECLARE_INTERFACE_
(
IQueryAssociations
,
IUnknown
)
{
IQueryAssociations_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -898,23 +903,23 @@ VOID WINAPI ColorRGBToHLS(COLORREF,LPWORD,LPWORD,LPWORD);
/* Stream functions */
#if
!defined(NO_SHLWAPI_STREAM) && defined(IStream_METHODS)
#if
ndef NO_SHLWAPI_STREAM
IStream
*
WINAPI
SHOpenRegStreamA
(
HKEY
,
LPCSTR
,
LPCSTR
,
DWORD
);
IStream
*
WINAPI
SHOpenRegStreamW
(
HKEY
,
LPCWSTR
,
LPCWSTR
,
DWORD
);
struct
IStream
*
WINAPI
SHOpenRegStreamA
(
HKEY
,
LPCSTR
,
LPCSTR
,
DWORD
);
struct
IStream
*
WINAPI
SHOpenRegStreamW
(
HKEY
,
LPCWSTR
,
LPCWSTR
,
DWORD
);
#define SHOpenRegStream WINELIB_NAME_AW(SHOpenRegStream2)
/* Uses version 2 */
IStream
*
WINAPI
SHOpenRegStream2A
(
HKEY
,
LPCSTR
,
LPCSTR
,
DWORD
);
IStream
*
WINAPI
SHOpenRegStream2W
(
HKEY
,
LPCWSTR
,
LPCWSTR
,
DWORD
);
struct
IStream
*
WINAPI
SHOpenRegStream2A
(
HKEY
,
LPCSTR
,
LPCSTR
,
DWORD
);
struct
IStream
*
WINAPI
SHOpenRegStream2W
(
HKEY
,
LPCWSTR
,
LPCWSTR
,
DWORD
);
#define SHOpenRegStream2 WINELIB_NAME_AW(SHOpenRegStream2)
HRESULT
WINAPI
SHCreateStreamOnFileA
(
LPCSTR
,
DWORD
,
IStream
**
);
HRESULT
WINAPI
SHCreateStreamOnFileW
(
LPCWSTR
,
DWORD
,
IStream
**
);
HRESULT
WINAPI
SHCreateStreamOnFileA
(
LPCSTR
,
DWORD
,
struct
IStream
**
);
HRESULT
WINAPI
SHCreateStreamOnFileW
(
LPCWSTR
,
DWORD
,
struct
IStream
**
);
#define SHCreateStreamOnFile WINELIB_NAME_AW(SHCreateStreamOnFile)
HRESULT
WINAPI
SHCreateStreamOnFileEx
(
LPCWSTR
,
DWORD
,
DWORD
,
BOOL
,
IStream
*
,
IStream
**
);
HRESULT
WINAPI
SHCreateStreamOnFileEx
(
LPCWSTR
,
DWORD
,
DWORD
,
BOOL
,
struct
IStream
*
,
struct
IStream
**
);
HRESULT
WINAPI
SHCreateStreamWrapper
(
LPBYTE
,
DWORD
,
DWORD
,
IStream
**
);
HRESULT
WINAPI
SHCreateStreamWrapper
(
LPBYTE
,
DWORD
,
DWORD
,
struct
IStream
**
);
#endif
/* NO_SHLWAPI_STREAM */
...
...
@@ -935,10 +940,8 @@ HRESULT WINAPI SHCreateStreamWrapper(LPBYTE,DWORD,DWORD,IStream**);
HRESULT
WINAPI
SHAutoComplete
(
HWND
,
DWORD
);
/* Threads */
#if defined(IUnknown_METHODS)
HRESULT
WINAPI
SHGetThreadRef
(
IUnknown
**
);
HRESULT
WINAPI
SHSetThreadRef
(
IUnknown
*
);
#endif
HRESULT
WINAPI
SHReleaseThreadRef
();
/* SHCreateThread flags */
...
...
@@ -952,9 +955,7 @@ HRESULT WINAPI SHReleaseThreadRef();
BOOL
WINAPI
SHCreateThread
(
LPTHREAD_START_ROUTINE
,
void
*
,
DWORD
,
LPTHREAD_START_ROUTINE
);
#if defined(IBindCtx_METHODS)
BOOL
WINAPI
SHSkipJunction
(
IBindCtx
*
,
const
CLSID
*
);
#endif
BOOL
WINAPI
SHSkipJunction
(
struct
IBindCtx
*
,
const
CLSID
*
);
/* Version Information */
...
...
include/vfw.h
View file @
5d0160ea
...
...
@@ -991,20 +991,25 @@ DEFINE_AVIGUID(CLSID_AVIFile, 0x00020000, 0, 0);
* IAVIStream interface
*/
#define INTERFACE IAVIStream
#define IAVIStream_METHODS \
IUnknown_METHODS \
STDMETHOD(Create)(THIS_ LPARAM lParam1, LPARAM lParam2) PURE; \
STDMETHOD(Info)(THIS_ AVISTREAMINFOW *psi, LONG lSize) PURE; \
STDMETHOD_(LONG,FindSample)(THIS_ LONG lPos, LONG lFlags) PURE; \
STDMETHOD(ReadFormat)(THIS_ LONG lPos, LPVOID lpFormat, LONG *lpcbFormat) PURE; \
STDMETHOD(SetFormat)(THIS_ LONG lPos, LPVOID lpFormat, LONG cbFormat) PURE; \
STDMETHOD(Read)(THIS_ LONG lStart, LONG lSamples, LPVOID lpBuffer, LONG cbBuffer, LONG *plBytes, LONG *plSamples) PURE; \
STDMETHOD(Write)(THIS_ LONG lStart, LONG lSamples, LPVOID lpBuffer, LONG cbBuffer, DWORD dwFlags, LONG *plSampWritten, LONG *plBytesWritten) PURE; \
STDMETHOD(Delete)(THIS_ LONG lStart, LONG lSamples) PURE; \
STDMETHOD(ReadData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG *lpcbBuffer) PURE; \
STDMETHOD(WriteData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG cbBuffer) PURE; \
DECLARE_INTERFACE_
(
IAVIStream
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IAVIStream methods ***/
STDMETHOD
(
Create
)(
THIS_
LPARAM
lParam1
,
LPARAM
lParam2
)
PURE
;
STDMETHOD
(
Info
)(
THIS_
AVISTREAMINFOW
*
psi
,
LONG
lSize
)
PURE
;
STDMETHOD_
(
LONG
,
FindSample
)(
THIS_
LONG
lPos
,
LONG
lFlags
)
PURE
;
STDMETHOD
(
ReadFormat
)(
THIS_
LONG
lPos
,
LPVOID
lpFormat
,
LONG
*
lpcbFormat
)
PURE
;
STDMETHOD
(
SetFormat
)(
THIS_
LONG
lPos
,
LPVOID
lpFormat
,
LONG
cbFormat
)
PURE
;
STDMETHOD
(
Read
)(
THIS_
LONG
lStart
,
LONG
lSamples
,
LPVOID
lpBuffer
,
LONG
cbBuffer
,
LONG
*
plBytes
,
LONG
*
plSamples
)
PURE
;
STDMETHOD
(
Write
)(
THIS_
LONG
lStart
,
LONG
lSamples
,
LPVOID
lpBuffer
,
LONG
cbBuffer
,
DWORD
dwFlags
,
LONG
*
plSampWritten
,
LONG
*
plBytesWritten
)
PURE
;
STDMETHOD
(
Delete
)(
THIS_
LONG
lStart
,
LONG
lSamples
)
PURE
;
STDMETHOD
(
ReadData
)(
THIS_
DWORD
fcc
,
LPVOID
lpBuffer
,
LONG
*
lpcbBuffer
)
PURE
;
STDMETHOD
(
WriteData
)(
THIS_
DWORD
fcc
,
LPVOID
lpBuffer
,
LONG
cbBuffer
)
PURE
;
STDMETHOD
(
SetInfo
)(
THIS_
AVISTREAMINFOW
*
plInfo
,
LONG
cbInfo
)
PURE
;
DECLARE_INTERFACE_
(
IAVIStream
,
IUnknown
)
{
IAVIStream_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1114,11 +1119,16 @@ LONG WINAPI AVIStreamTimeToSample(PAVISTREAM pstream, LONG lTime);
* IAVIStreaming interface
*/
#define INTERFACE IAVIStreaming
#define IAVIStreaming_METHODS \
IUnknown_METHODS \
STDMETHOD(Begin)(IAVIStreaming*iface,LONG lStart,LONG lEnd,LONG lRate) PURE; \
DECLARE_INTERFACE_
(
IAVIStreaming
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IAVIStreaming methods ***/
STDMETHOD
(
Begin
)(
IAVIStreaming
*
iface
,
LONG
lStart
,
LONG
lEnd
,
LONG
lRate
)
PURE
;
STDMETHOD
(
End
)(
IAVIStreaming
*
iface
)
PURE
;
DECLARE_INTERFACE_
(
IAVIStreaming
,
IUnknown
)
{
IAVIStreaming_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1135,14 +1145,19 @@ DECLARE_INTERFACE_(IAVIStreaming, IUnknown) { IAVIStreaming_METHODS };
* IAVIEditStream interface
*/
#define INTERFACE IAVIEditStream
#define IAVIEditStream_METHODS \
IUnknown_METHODS \
STDMETHOD(Cut)(IAVIEditStream*iface,LONG*plStart,LONG*plLength,PAVISTREAM*ppResult) PURE; \
STDMETHOD(Copy)(IAVIEditStream*iface,LONG*plStart,LONG*plLength,PAVISTREAM*ppResult) PURE; \
STDMETHOD(Paste)(IAVIEditStream*iface,LONG*plStart,LONG*plLength,PAVISTREAM pSource,LONG lStart,LONG lEnd) PURE; \
STDMETHOD(Clone)(IAVIEditStream*iface,PAVISTREAM*ppResult) PURE; \
DECLARE_INTERFACE_
(
IAVIEditStream
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IAVIEditStream methods ***/
STDMETHOD
(
Cut
)(
IAVIEditStream
*
iface
,
LONG
*
plStart
,
LONG
*
plLength
,
PAVISTREAM
*
ppResult
)
PURE
;
STDMETHOD
(
Copy
)(
IAVIEditStream
*
iface
,
LONG
*
plStart
,
LONG
*
plLength
,
PAVISTREAM
*
ppResult
)
PURE
;
STDMETHOD
(
Paste
)(
IAVIEditStream
*
iface
,
LONG
*
plStart
,
LONG
*
plLength
,
PAVISTREAM
pSource
,
LONG
lStart
,
LONG
lEnd
)
PURE
;
STDMETHOD
(
Clone
)(
IAVIEditStream
*
iface
,
PAVISTREAM
*
ppResult
)
PURE
;
STDMETHOD
(
SetInfo
)(
IAVIEditStream
*
iface
,
LPAVISTREAMINFOW
asi
,
LONG
size
)
PURE
;
DECLARE_INTERFACE_
(
IAVIEditStream
,
IUnknown
)
{
IAVIEditStream_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1182,16 +1197,21 @@ HRESULT WINAPI EditStreamSetNameW(PAVISTREAM pstream, LPCWSTR szName);
*/
/* In Win32 this interface uses UNICODE only */
#define INTERFACE IAVIFile
#define IAVIFile_METHODS \
IUnknown_METHODS \
STDMETHOD(Info)(THIS_ AVIFILEINFOW *pfi, LONG lSize) PURE; \
STDMETHOD(GetStream)(THIS_ PAVISTREAM *ppStream, DWORD fccType, LONG lParam) PURE; \
STDMETHOD(CreateStream)(THIS_ PAVISTREAM *ppStream, AVISTREAMINFOW *psi) PURE; \
STDMETHOD(WriteData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG cbBuffer) PURE; \
STDMETHOD(ReadData)(THIS_ DWORD fcc, LPVOID lpBuffer, LONG *lpcbBuffer) PURE; \
STDMETHOD(EndRecord)(THIS) PURE; \
DECLARE_INTERFACE_
(
IAVIFile
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IAVIFile methods ***/
STDMETHOD
(
Info
)(
THIS_
AVIFILEINFOW
*
pfi
,
LONG
lSize
)
PURE
;
STDMETHOD
(
GetStream
)(
THIS_
PAVISTREAM
*
ppStream
,
DWORD
fccType
,
LONG
lParam
)
PURE
;
STDMETHOD
(
CreateStream
)(
THIS_
PAVISTREAM
*
ppStream
,
AVISTREAMINFOW
*
psi
)
PURE
;
STDMETHOD
(
WriteData
)(
THIS_
DWORD
fcc
,
LPVOID
lpBuffer
,
LONG
cbBuffer
)
PURE
;
STDMETHOD
(
ReadData
)(
THIS_
DWORD
fcc
,
LPVOID
lpBuffer
,
LONG
*
lpcbBuffer
)
PURE
;
STDMETHOD
(
EndRecord
)(
THIS
)
PURE
;
STDMETHOD
(
DeleteStream
)(
THIS_
DWORD
fccType
,
LONG
lParam
)
PURE
;
DECLARE_INTERFACE_
(
IAVIFile
,
IUnknown
)
{
IAVIFile_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
@@ -1233,13 +1253,18 @@ HRESULT WINAPI AVIFileEndRecord(PAVIFILE pfile);
* IGetFrame interface
*/
#define INTERFACE IGetFrame
#define IGetFrame_METHODS \
IUnknown_METHODS \
STDMETHOD_(LPVOID,GetFrame)(THIS_ LONG lPos) PURE; \
STDMETHOD(Begin)(THIS_ LONG lStart, LONG lEnd, LONG lRate) PURE; \
STDMETHOD(End)(THIS) PURE; \
DECLARE_INTERFACE_
(
IGetFrame
,
IUnknown
)
{
/*** IUnknown methods ***/
STDMETHOD_
(
HRESULT
,
QueryInterface
)(
THIS_
REFIID
riid
,
void
**
ppvObject
)
PURE
;
STDMETHOD_
(
ULONG
,
AddRef
)(
THIS
)
PURE
;
STDMETHOD_
(
ULONG
,
Release
)(
THIS
)
PURE
;
/*** IGetFrame methods ***/
STDMETHOD_
(
LPVOID
,
GetFrame
)(
THIS_
LONG
lPos
)
PURE
;
STDMETHOD
(
Begin
)(
THIS_
LONG
lStart
,
LONG
lEnd
,
LONG
lRate
)
PURE
;
STDMETHOD
(
End
)(
THIS
)
PURE
;
STDMETHOD
(
SetFormat
)(
THIS_
LPBITMAPINFOHEADER
lpbi
,
LPVOID
lpBits
,
INT
x
,
INT
y
,
INT
dx
,
INT
dy
)
PURE
;
DECLARE_INTERFACE_
(
IGetFrame
,
IUnknown
)
{
IGetFrame_METHODS
};
};
#undef INTERFACE
#if !defined(__cplusplus) || defined(CINTERFACE)
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment