HANDLE hDirectDrawLocal,
HANDLE hSurfColor,
HANDLE hSurfZ,
- PD3DNTHAL_CONTEXTCREATEDATA pdcci
+ /* Is msdn wrong on D3DNTHAL_CONTEXTCREATEDATA ?? */
+ D3DNTHAL_CONTEXTCREATEDATA *pdcci
);
+
DWORD STDCALL NtGdiD3dContextDestroy(
- PD3DNTHAL_CONTEXTDESTROYDATA pContextDestroyData
+ LPD3DNTHAL_CONTEXTDESTROYDATA pContextDestroyData
);
DWORD STDCALL NtGdiD3dContextDestroyAll(VOID);
DWORD STDCALL NtGdiD3dDrawPrimitives2(
HANDLE hCmdBuf,
HANDLE hVBuf,
- PD3DNTHAL_DRAWPRIMITIVES2DATA pded,
+ LPD3DNTHAL_DRAWPRIMITIVES2DATA pded,
FLATPTR *pfpVidMemCmd,
DWORD *pdwSizeCmd,
FLATPTR *pfpVidMemVtx,
DWORD *pdwSizeVtx
+
);
DWORD STDCALL NtGdiD3dValidateTextureStageState(
- PD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
+ LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA pData
);
DWORD STDCALL NtGdiDdAddAttachedSurface(
HANDLE hDirectDrawLocal,
DD_HALINFO *pHalInfo,
DWORD *pCallBackFlags,
- PD3DNTHAL_CALLBACKS puD3dCallbacks,
- PD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
+ LPD3DNTHAL_CALLBACKS puD3dCallbacks,
+ LPD3DNTHAL_GLOBALDRIVERDATA puD3dDriverData,
PDD_D3DBUFCALLBACKS puD3dBufferCallbacks,
LPDDSURFACEDESC puD3dTextureFormats,
DWORD *puNumHeaps,
DEFINE_GUID(GUID_ZPixelFormats, 0x93869880, 0x36CF, 0x11D1, 0x9B, 0x1B, 0x00, 0xAA, 0x00, 0xBB, 0xB8, 0xAE);
DEFINE_GUID(GUID_DDStereoMode, 0xF828169C, 0xA8E8, 0x11D2, 0xA1, 0xF2, 0x00, 0xA0, 0xC9, 0x83, 0xEA, 0xF6);
-typedef struct _D3DNTHAL_CONTEXTCREATEDATA *PD3DNTHAL_CONTEXTCREATEDATA;
-typedef struct _D3DNTHAL_CONTEXTDESTROYDATA *PD3DNTHAL_CONTEXTDESTROYDATA;
-typedef struct _D3DNTHAL_DRAWPRIMITIVES2DATA *PD3DNTHAL_DRAWPRIMITIVES2DATA;
-typedef struct _D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA *PD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA;
-
-/* DIRECT3D object callbacks */
-typedef DWORD (STDCALL *PD3DNTHAL_CONTEXTCREATECB)(PD3DNTHAL_CONTEXTCREATEDATA);
-typedef DWORD (STDCALL *PD3DNTHAL_CONTEXTDESTROYCB)(PD3DNTHAL_CONTEXTDESTROYDATA);
-
-typedef struct _D3DNTHAL_CALLBACKS {
- DWORD dwSize;
- PD3DNTHAL_CONTEXTCREATECB ContextCreate;
- PD3DNTHAL_CONTEXTDESTROYCB ContextDestroy;
- PVOID Reserved[32];
-} D3DNTHAL_CALLBACKS;
-typedef D3DNTHAL_CALLBACKS *PD3DNTHAL_CALLBACKS;
-
-/* Structures to report driver capabilities */
-
-typedef struct _D3DNTHAL_DEVICEDESC {
+typedef struct _D3DNTHAL_CONTEXTCREATEDATA
+{
+ union
+ {
+ PDD_DIRECTDRAW_GLOBAL lpDDGbl;
+ PDD_DIRECTDRAW_LOCAL lpDDLcl;
+ };
+ union
+ {
+ PDD_SURFACE_LOCAL lpDDS;
+ PDD_SURFACE_LOCAL lpDDSLcl;
+ };
+ union
+ {
+ PDD_SURFACE_LOCAL lpDDSZ;
+ PDD_SURFACE_LOCAL lpDDSZLcl;
+ };
+ DWORD dwPID;
+ ULONG_PTR dwhContext;
+ HRESULT ddrval;
+} D3DNTHAL_CONTEXTCREATEDATA, *LPD3DNTHAL_CONTEXTCREATEDATA;
+
+typedef struct _D3DNTHAL_CONTEXTDESTROYDATA
+{
+ ULONG_PTR dwhContext;
+ HRESULT ddrval;
+} D3DNTHAL_CONTEXTDESTROYDATA, *LPD3DNTHAL_CONTEXTDESTROYDATA;
+
+typedef struct _D3DNTHAL_CONTEXTDESTROYALLDATA
+{
+ DWORD dwPID;
+ HRESULT ddrval;
+} D3DNTHAL_CONTEXTDESTROYALLDATA, *LPD3DNTHAL_CONTEXTDESTROYALLDATA;
+
+typedef struct _D3DNTHAL_SCENECAPTUREDATA
+{
+ ULONG_PTR dwhContext;
+ DWORD dwFlag;
+ HRESULT ddrval;
+} D3DNTHAL_SCENECAPTUREDATA, *LPD3DNTHAL_SCENECAPTUREDATA;
+
+typedef struct _D3DNTHAL_TEXTURECREATEDATA
+{
+ ULONG_PTR dwhContext;
+ HANDLE hDDS;
+ ULONG_PTR dwHandle;
+ HRESULT ddrval;
+} D3DNTHAL_TEXTURECREATEDATA, *LPD3DNTHAL_TEXTURECREATEDATA;
+
+typedef struct _D3DNTHAL_TEXTUREDESTROYDATA
+{
+ ULONG_PTR dwhContext;
+ ULONG_PTR dwHandle;
+ HRESULT ddrval;
+} D3DNTHAL_TEXTUREDESTROYDATA, *LPD3DNTHAL_TEXTUREDESTROYDATA;
+
+typedef struct _D3DNTHAL_TEXTURESWAPDATA
+{
+ ULONG_PTR dwhContext;
+ ULONG_PTR dwHandle1;
+ ULONG_PTR dwHandle2;
+ HRESULT ddrval;
+} D3DNTHAL_TEXTURESWAPDATA, *LPD3DNTHAL_TEXTURESWAPDATA;
+
+typedef struct _D3DNTHAL_TEXTUREGETSURFDATA
+{
+ ULONG_PTR dwhContext;
+ HANDLE hDDS;
+ ULONG_PTR dwHandle;
+ HRESULT ddrval;
+} D3DNTHAL_TEXTUREGETSURFDATA, *LPD3DNTHAL_TEXTUREGETSURFDATA;
+
+typedef DWORD (APIENTRY *LPD3DNTHAL_CONTEXTCREATECB)(LPD3DNTHAL_CONTEXTCREATEDATA);
+typedef DWORD (APIENTRY *LPD3DNTHAL_CONTEXTDESTROYCB)(LPD3DNTHAL_CONTEXTDESTROYDATA);
+typedef DWORD (APIENTRY *LPD3DNTHAL_CONTEXTDESTROYALLCB)(LPD3DNTHAL_CONTEXTDESTROYALLDATA);
+typedef DWORD (APIENTRY *LPD3DNTHAL_SCENECAPTURECB)(LPD3DNTHAL_SCENECAPTUREDATA);
+typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTURECREATECB)(LPD3DNTHAL_TEXTURECREATEDATA);
+typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTUREDESTROYCB)(LPD3DNTHAL_TEXTUREDESTROYDATA);
+typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTURESWAPCB)(LPD3DNTHAL_TEXTURESWAPDATA);
+typedef DWORD (APIENTRY *LPD3DNTHAL_TEXTUREGETSURFCB)(LPD3DNTHAL_TEXTUREGETSURFDATA);
+
+typedef struct _D3DNTHALDeviceDesc_V1
+{
DWORD dwSize;
DWORD dwFlags;
D3DCOLORMODEL dcmColorModel;
DWORD dwDeviceZBufferBitDepth;
DWORD dwMaxBufferSize;
DWORD dwMaxVertexCount;
-} D3DNTHAL_DEVICEDESC, *PD3DNT_HALDEVICEDESC;
+} D3DNTHALDEVICEDESC_V1, *LPD3DNTHALDEVICEDESC_V1;
-typedef struct _D3DNTHAL_GLOBALDRIVERDATA {
+typedef struct _D3DNTHAL_GLOBALDRIVERDATA
+{
DWORD dwSize;
- D3DNTHAL_DEVICEDESC hwCaps;
+ D3DNTHALDEVICEDESC_V1 hwCaps;
DWORD dwNumVertices;
DWORD dwNumClipVertices;
DWORD dwNumTextureFormats;
LPDDSURFACEDESC lpTextureFormats;
-} D3DNTHAL_GLOBALDRIVERDATA, *PD3DNTHAL_GLOBALDRIVERDATA;
+} D3DNTHAL_GLOBALDRIVERDATA, *LPD3DNTHAL_GLOBALDRIVERDATA;
+
+typedef struct _D3DNTHAL_CALLBACKS
+{
+ DWORD dwSize;
+ LPD3DNTHAL_CONTEXTCREATECB ContextCreate;
+ LPD3DNTHAL_CONTEXTDESTROYCB ContextDestroy;
+ LPD3DNTHAL_CONTEXTDESTROYALLCB ContextDestroyAll;
+ LPD3DNTHAL_SCENECAPTURECB SceneCapture;
+ LPVOID dwReserved10;
+ LPVOID dwReserved11;
+ LPVOID dwReserved22;
+ LPVOID dwReserved23;
+ ULONG_PTR dwReserved;
+ LPD3DNTHAL_TEXTURECREATECB TextureCreate;
+ LPD3DNTHAL_TEXTUREDESTROYCB TextureDestroy;
+ LPD3DNTHAL_TEXTURESWAPCB TextureSwap;
+ LPD3DNTHAL_TEXTUREGETSURFCB TextureGetSurf;
+ LPVOID dwReserved12;
+ LPVOID dwReserved13;
+ LPVOID dwReserved14;
+ LPVOID dwReserved15;
+ LPVOID dwReserved16;
+ LPVOID dwReserved17;
+ LPVOID dwReserved18;
+ LPVOID dwReserved19;
+ LPVOID dwReserved20;
+ LPVOID dwReserved21;
+ LPVOID dwReserved24;
+ ULONG_PTR dwReserved0;
+ ULONG_PTR dwReserved1;
+ ULONG_PTR dwReserved2;
+ ULONG_PTR dwReserved3;
+ ULONG_PTR dwReserved4;
+ ULONG_PTR dwReserved5;
+ ULONG_PTR dwReserved6;
+ ULONG_PTR dwReserved7;
+ ULONG_PTR dwReserved8;
+ ULONG_PTR dwReserved9;
+} D3DNTHAL_CALLBACKS, *LPD3DNTHAL_CALLBACKS;
+
+typedef struct _D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA
+{
+ ULONG_PTR dwhContext;
+ DWORD dwFlags;
+ ULONG_PTR dwReserved;
+ DWORD dwNumPasses;
+ HRESULT ddrval;
+} D3DNTHAL_VALIDATETEXTURESTAGESTATEDATA, FAR *LPD3DNTHAL_VALIDATETEXTURESTAGESTATEDATA;
+typedef struct _D3DNTHAL_DRAWPRIMITIVES2DATA
+{
+ ULONG_PTR dwhContext;
+ DWORD dwFlags;
+ DWORD dwVertexType;
+ PDD_SURFACE_LOCAL lpDDCommands;
+ DWORD dwCommandOffset;
+ DWORD dwCommandLength;
+ union
+ {
+ PDD_SURFACE_LOCAL lpDDVertex;
+ LPVOID lpVertices;
+ };
+ DWORD dwVertexOffset;
+ DWORD dwVertexLength;
+ DWORD dwReqVertexBufSize;
+ DWORD dwReqCommandBufSize;
+ LPDWORD lpdwRStates;
+ union
+ {
+ DWORD dwVertexSize;
+ HRESULT ddrval;
+ };
+ DWORD dwErrorOffset;
+} D3DNTHAL_DRAWPRIMITIVES2DATA, FAR *LPD3DNTHAL_DRAWPRIMITIVES2DATA;
#ifdef __cplusplus
} /* extern "C" */