This repository has been archived on 2024-12-16. You can view files and clone it, but cannot push or open issues or pull requests.
CodeBlocksPortable/WATCOM/h/nt/ddk/ddkmapi.h

362 lines
11 KiB
C

/*
* ddkmapi.h DirectDraw kernel mode functions
*
* =========================================================================
*
* Open Watcom Project
*
* Copyright (c) 2004-2010 The Open Watcom Contributors. All Rights Reserved.
*
* This file is automatically generated. Do not edit directly.
*
* =========================================================================
*/
#ifndef __DDKMAPI_INCLUDED__
#define __DDKMAPI_INCLUDED__
#ifndef _ENABLE_AUTODEPEND
#pragma read_only_file;
#endif
#ifdef __cplusplus
extern "C" {
#endif
/* DirectX API version numbers */
#define DXAPI_MAJORVERSION 1
#define DXAPI_MINORVERSION 0
/* DirectX API function indices */
#define DD_FIRST_DXAPI 0x0500
#define DD_DXAPI_GETVERSIONNUMBER (DD_FIRST_DXAPI + 0)
#define DD_DXAPI_CLOSEHANDLE (DD_FIRST_DXAPI + 1)
#define DD_DXAPI_OPENDIRECTDRAW (DD_FIRST_DXAPI + 2)
#define DD_DXAPI_OPENSURFACE (DD_FIRST_DXAPI + 3)
#define DD_DXAPI_OPENVIDEOPORT (DD_FIRST_DXAPI + 4)
#define DD_DXAPI_GETKERNELCAPS (DD_FIRST_DXAPI + 5)
#define DD_DXAPI_GET_VP_FIELD_NUMBER (DD_FIRST_DXAPI + 6)
#define DD_DXAPI_SET_VP_FIELD_NUMBER (DD_FIRST_DXAPI + 7)
#define DD_DXAPI_SET_VP_SKIP_FIELD (DD_FIRST_DXAPI + 8)
#define DD_DXAPI_GET_SURFACE_STATE (DD_FIRST_DXAPI + 9)
#define DD_DXAPI_SET_SURFACE_STATE (DD_FIRST_DXAPI + 10)
#define DD_DXAPI_LOCK (DD_FIRST_DXAPI + 11)
#define DD_DXAPI_FLIP_OVERLAY (DD_FIRST_DXAPI + 12)
#define DD_DXAPI_FLIP_VP (DD_FIRST_DXAPI + 13)
#define DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI + 14)
#define DD_DXAPI_GET_LAST_VP_AUTOFLIP_SURFACE (DD_FIRST_DXAPI + 15)
#define DD_DXAPI_REGISTER_CALLBACK (DD_FIRST_DXAPI + 16)
#define DD_DXAPI_UNREGISTER_CALLBACK (DD_FIRST_DXAPI + 17)
#define DD_DXAPI_GET_POLARITY (DD_FIRST_DXAPI + 18)
#define DD_DXAPI_OPENVPCAPTUREDEVICE (DD_FIRST_DXAPI + 19)
#define DD_DXAPI_ADDVPCAPTUREBUFFER (DD_FIRST_DXAPI + 20)
#define DD_DXAPI_FLUSHVPCAPTUREBUFFERS (DD_FIRST_DXAPI + 21)
/* DD_DXAPI_OPENVPCAPTUREDEVICE flags */
#define DDOPENCAPTURE_VIDEO 0x00000001L
#define DDOPENCAPTURE_VBI 0x00000002L
/* DD_DXAPI_ADDVPCAPTUREBUFFER flags */
#define DDADDBUFF_SYSTEMMEMORY 0x00000001L
#define DDADDBUFF_NONLOCALVIDMEM 0x00000002L
#define DDADDBUFF_INVERT 0x00000004L
/* DirectDraw state flags */
#define DDSTATE_BOB 0x00000001L
#define DDSTATE_WEAVE 0x00000002L
#define DDSTATE_EXPLICITLY_SET 0x00000004L
#define DDSTATE_SOFTWARE_AUTOFLIP 0x00000008L
#define DDSTATE_SKIPEVENFIELDS 0x00000010L
/* DirectDraw event flags */
#define DDEVENT_DISPLAY_VSYNC 0x00000001L
#define DDEVENT_VP_VSYNC 0x00000002L
#define DDEVENT_VP_LINE 0x00000004L
#define DDEVENT_PRERESCHANGE 0x00000008L
#define DDEVENT_POSTRESCHANGE 0x00000010L
#define DDEVENT_PREDOSBOX 0x00000020L
#define DDEVENT_POSTDOSBOX 0x00000040L
/* DirectDraw notification flags */
#define DDNOTIFY_DISPLAY_VSYNC 0x00000001L
#define DDNOTIFY_VP_VSYNC 0x00000002L
#define DDNOTIFY_VP_LINE 0x00000004L
#define DDNOTIFY_PRERESCHANGE 0x00000008L
#define DDNOTIFY_POSTRESCHANGE 0x00000010L
#define DDNOTIFY_PREDOSBOX 0x00000020L
#define DDNOTIFY_POSTDOSBOX 0x00000040L
#define DDNOTIFY_CLOSEDIRECTDRAW 0x00000080L
#define DDNOTIFY_CLOSESURFACE 0x00000100L
#define DDNOTIFY_CLOSEVIDEOPORT 0x00000200L
#define DDNOTIFY_CLOSECAPTURE 0x00000400L
/* DxApi() function pointer */
typedef DWORD (PASCAL *LPDXAPI)( DWORD, LPVOID, DWORD, LPVOID, DWORD );
/* DirectDraw notification callback */
typedef ULONG (PASCAL *LPDD_NOTIFYCALLBACK)( DWORD, PVOID, DWORD, DWORD );
/* DD_DXAPI_GETVERSIONNUMBER parameters */
typedef struct _DDGETVERSIONNUMBER {
DWORD ddRVal;
DWORD dwMajorVersion;
DWORD dwMinorVersion;
} DDGETVERSIONNUMBER;
typedef DDGETVERSIONNUMBER *LPDDGETVERSIONNUMBER;
/* DD_DXAPI_CLOSEHANDLE parameters */
typedef struct _DDCLOSEHANDLE {
HANDLE hHandle;
} DDCLOSEHANDLE;
typedef DDCLOSEHANDLE *LPDDCLOSEHANDLE;
/* DD_DXAPI_OPENDIRECTDRAW input parameters */
typedef struct _DDOPENDIRECTDRAWIN {
ULONG_PTR dwDirectDrawHandle;
LPDD_NOTIFYCALLBACK pfnDirectDrawClose;
PVOID pContext;
} DDOPENDIRECTDRAWIN;
typedef DDOPENDIRECTDRAWIN *LPDDOPENDIRECTDRAWIN;
/* DD_DXAPI_OPENDIRECTDRAW output parameters */
typedef struct _DDOPENDIRECTDRAWOUT {
DWORD ddRVal;
HANDLE hDirectDraw;
} DDOPENDIRECTDRAWOUT;
typedef DDOPENDIRECTDRAWOUT *LPDDOPENDIRECTDRAW;
/* DD_DXAPI_OPENSURFACE input parameters */
typedef struct _DDOPENSURFACEIN {
HANDLE hDirectDraw;
ULONG_PTR dwSurfaceHandle;
LPDD_NOTIFYCALLBACK pfnSurfaceClose;
PVOID pContext;
} DDOPENSURFACEIN;
typedef DDOPENSURFACEIN *LPDDOPENSURFACEIN;
/* DD_DXAPI_OPENSURFACE output parameters */
typedef struct _DDOPENSURFACEOUT {
DWORD ddRVal;
HANDLE hSurface;
} DDOPENSURFACEOUT;
typedef DDOPENSURFACEOUT *LPDDOPENSURFACEOUT;
/* DD_DXAPI_OPENVIDEOPORT input parameters */
typedef struct _DDOPENVIDEOPORTIN {
HANDLE hDirectDraw;
ULONG dwVideoPortHandle;
LPDD_NOTIFYCALLBACK pfnVideoPortClose;
PVOID pContext;
} DDOPENVIDEOPORTIN;
typedef DDOPENVIDEOPORTIN *LPDDOPENVIDEOPORTIN;
/* DD_DXAPI_OPENVIDEOPORT output parameters */
typedef struct _DDOPENVIDEOPORTOUT {
DWORD ddRVal;
HANDLE hVideoPort;
} DDOPENVIDEOPORTOUT;
typedef DDOPENVIDEOPORTOUT *LPDDOPENVIDEOPORTOUT;
/* DD_DXAPI_GETKERNELCAPS output parameters */
typedef struct _DDGETKERNELCAPSOUT {
DWORD ddRVal;
DWORD dwCaps;
DWORD dwIRQCaps;
} DDGETKERNELCAPSOUT;
typedef DDGETKERNELCAPSOUT *LPDDGETKERNELCAPSOUT;
/* DD_DXAPI_GET_VP_FIELD_NUMBER input parameters */
typedef struct _DDGETFIELDNUMIN {
HANDLE hDirectDraw;
HANDLE hVideoPort;
} DDGETFIELDNUMIN;
typedef DDGETFIELDNUMIN *LPDDGETFIELDNUMIN;
/* DD_DXAPI_GET_VP_FIELD_NUMBER output parameters */
typedef struct _DDGETFIELDNUMOUT {
DWORD ddRVal;
DWORD dwFieldNum;
} DDGETFIELDNUMOUT;
typedef DDGETFIELDNUMOUT *LPDDGETFIELDNUMOUT;
/* DD_DXAPI_SET_VP_FIELD_NUMBER parameters */
typedef struct _DDSETFIELDNUM {
HANDLE hDirectDraw;
HANDLE hVideoPort;
DWORD dwFieldNum;
} DDSETFIELDNUM;
typedef DDSETFIELDNUM *LPDDSETFIELDNUM;
/* DD_DXAPI_SET_VP_SKIP_FIELD parameters */
typedef struct _DDSETSKIPFIELD {
HANDLE hDirectDraw;
HANDLE hVideoPort;
DWORD dwStartField;
} DDSETSKIPFIELD;
typedef DDSETSKIPFIELD *LPDDSETSKIPFIELD;
/* DD_DXAPI_GET_SURFACE_STATE input parameters */
typedef struct _DDGETSURFACESTATEIN {
HANDLE hDirectDraw;
HANDLE hSurface;
} DDGETSURFACESTATEIN;
typedef DDGETSURFACESTATEIN *LPDDGETSURFACESTATEIN;
/* DD_DXAPI_GET_SURFACE_STATE output parameters */
typedef struct _DDGETSURFACESTATEOUT {
DWORD ddRVal;
DWORD dwStateCaps;
DWORD dwStateStatus;
} DDGETSURFACESTATEOUT;
typedef DDGETSURFACESTATEOUT *LPDDGETSURFACESTATEOUT;
/* DD_DXAPI_SET_SURFACE_STATE parameters */
typedef struct _DDSETSURFACESTATE {
HANDLE hDirectDraw;
HANDLE hSurface;
DWORD dwState;
DWORD dwStartField;
} DDSETSURFACESTATE;
typedef DDSETSURFACESTATE *LPDDSETSURFACESTATE;
/* DD_DXAPI_LOCK input parameters */
typedef struct _DDLOCKIN {
HANDLE hDirectDraw;
HANDLE hSurface;
} DDLOCKIN;
typedef DDLOCKIN *LPDDLOCKIN;
/* DD_DXAPI_LOCK output parameters */
typedef struct _DDLOCKOUT {
DWORD ddRVal;
DWORD dwSurfHeight;
DWORD dwSurfWidth;
LONG lSurfPitch;
PVOID lpSurface;
DWORD SurfaceCaps;
DWORD dwFormatFlags;
DWORD dwFormatFourCC;
DWORD dwFormatBitCount;
union {
DWORD dwRBitMask;
DWORD dwYBitMask;
};
union {
DWORD dwGBitMask;
DWORD dwUBitMask;
};
union {
DWORD dwBBitMask;
DWORD dwVBitMask;
};
} DDLOCKOUT;
typedef DDLOCKOUT *LPDDLOCKOUT;
/* DD_DXAPI_FLIP_OVERLAY parameters */
typedef struct _DDFLIPOVERLAY {
HANDLE hDirectDraw;
HANDLE hCurrentSurface;
HANDLE hTargetSurface;
DWORD dwFlags;
} DDFLIPOVERLAY;
typedef DDFLIPOVERLAY *LPDDFLIPOVERLAY;
/* DD_DXAPI_FLIP_VP parameters */
typedef struct _DDFLIPVIDEOPORT {
HANDLE hDirectDraw;
HANDLE hVideoPort;
HANDLE hCurrentSurface;
HANDLE hTargetSurface;
DWORD dwFlags;
} DDFLIPVIDEOPORT;
typedef DDFLIPVIDEOPORT *LPDDFLIPVIDEOPORT;
/* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE input parameters */
typedef struct _DDGETAUTOFLIPIN {
HANDLE hDirectDraw;
HANDLE hVideoPort;
} DDGETAUTOFLIPIN;
typedef DDGETAUTOFLIPIN *LPDDGETAUTOFLIPIN;
/* DD_DXAPI_GET_CURRENT_VP_AUTOFLIP_SURFACE output parameters */
typedef struct _DDGETAUTOFLIPOUT {
DWORD ddRVal;
HANDLE hVideoSurface;
HANDLE hVBISurface;
BOOL bPolarity;
} DDGETAUTOFLIPOUT;
typedef DDGETAUTOFLIPOUT *LPDDGETAUTOFLIPOUT;
/* DD_DXAPI_REGISTER_CALLBACK parameters */
typedef struct _DDREGISTERCALLBACK {
HANDLE hDirectDraw;
ULONG dwEvents;
LPDD_NOTIFYCALLBACK pfnCallback;
ULONG_PTR dwParam1;
ULONG_PTR dwParam2;
PVOID pContext;
} DDREGISTERCALLBACK;
typedef DDREGISTERCALLBACK *LPDDREGISTERCALLBACK;
/* DD_DXAPI_GET_POLARITY input parameters */
typedef struct _DDGETPOLARITYIN {
HANDLE hDirectDraw;
HANDLE hVideoPort;
} DDGETPOLARITYIN;
typedef DDGETPOLARITYIN *LPDDGETPOLARITYIN;
/* DD_DXAPI_GET_POLARITY output parameters */
typedef struct _DDGETPOLARITYOUT {
DWORD ddRVal;
BOOL bPolarity;
} DDGETPOLARITYOUT;
typedef DDGETPOLARITYOUT *LPDDGETPOLARITYOUT;
/* DD_DXAPI_OPENVPCAPTUREDEVICE input parameters */
typedef struct _DDOPENVPCAPTUREDEVICEIN {
HANDLE hDirectDraw;
HANDLE hVideoPort;
DWORD dwStartLine;
DWORD dwEndLine;
DWORD dwCaptureEveryNFields;
LPDD_NOTIFYCALLBACK pfnCaptureClose;
PVOID pContext;
DWORD dwFlags;
} DDOPENVPCAPTUREDEVICEIN;
typedef DDOPENVPCAPTUREDEVICEIN *LPDDOPENVPCAPTUREDEVICEIN;
/* DD_DXAPI_OPENVPCAPTUREDEVICE output parameters */
typedef struct _DDOPENVPCAPTUREDEVICEOUT {
DWORD ddRVal;
HANDLE hCapture;
} DDOPENVPCAPTUREDEVICEOUT;
typedef DDOPENVPCAPTUREDEVICEOUT *LPDDOPENVPCAPTUREDEVICEOUT;
/* DirectDraw capture buffer information */
typedef struct _DDCAPBUFFINFO {
DWORD dwFieldNumber;
DWORD bPolarity;
LARGE_INTEGER liTimeStamp;
DWORD ddRVal;
} DDCAPBUFFINFO;
typedef DDCAPBUFFINFO *LPDDCAPBUFFINFO;
/* DD_DXAPI_ADDVPCAPTUREBUFFER parameters */
typedef struct _DDADDVPCAPTUREBUFF {
HANDLE hCapture;
DWORD dwFlags;
PMDL pMDL;
PKEVENT pKEvent;
LPDDCAPBUFFINFO lpBuffInfo;
} DDADDVPCAPTUREBUFF;
typedef DDADDVPCAPTUREBUFF *LPDDADDVPCAPTUREBUFF;
/* Functions in DXAPI.SYS */
DWORD PASCAL DxApi( DWORD, LPVOID, DWORD, LPVOID, DWORD );
#ifdef __cplusplus
} /* extern "C" */
#endif
#endif /* __DDKMAPI_INCLUDED__ */