Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

73 lines
2.6 KiB

  1. /*++
  2. Copyright (c) 2002 Microsoft Corporation
  3. Module Name:
  4. wow64dx.h
  5. Abstract:
  6. Private DX structures that need thunking
  7. Author:
  8. 23-Apr-2002 KenCoope
  9. Revision History:
  10. --*/
  11. #ifndef _WOW64DX_H_
  12. #define _WOW64DX_H_
  13. typedef struct _D3D8_DRAWPRIMITIVES2DATA
  14. {
  15. ULONG_PTR dwhContext; // in: Context handle
  16. DWORD dwFlags; // in: flags
  17. DWORD dwVertexType; // in: vertex type
  18. HANDLE hDDCommands; // in: vertex buffer command data
  19. DWORD dwCommandOffset; // in: offset to start of vertex buffer commands
  20. DWORD dwCommandLength; // in: number of bytes of command data
  21. union
  22. { // based on D3DHALDP2_USERMEMVERTICES flag
  23. HANDLE hDDVertex; // in: surface containing vertex data
  24. LPVOID lpVertices; // in: User mode pointer to vertices
  25. };
  26. DWORD dwVertexOffset; // in: offset to start of vertex data
  27. DWORD dwVertexLength; // in: number of vertices of vertex data
  28. DWORD dwReqVertexBufSize; // in: number of bytes required for the next vertex buffer
  29. DWORD dwReqCommandBufSize; // in: number of bytes required for the next commnand buffer
  30. LPDWORD lpdwRStates; // in: Pointer to the array where render states are updated
  31. union
  32. {
  33. DWORD dwVertexSize; // in: Size of each vertex in bytes
  34. HRESULT ddrval; // out: return value
  35. };
  36. DWORD dwErrorOffset; // out: offset in lpDDCommands to first D3DHAL_COMMAND not handled
  37. // Private data for the thunk
  38. ULONG_PTR fpVidMem_CB; // out: fpVidMem for the command buffer
  39. DWORD dwLinearSize_CB; // out: dwLinearSize for the command buffer
  40. ULONG_PTR fpVidMem_VB; // out: fpVidMem for the vertex buffer
  41. DWORD dwLinearSize_VB; // out: dwLinearSize for the vertex buffer
  42. } D3D8_DRAWPRIMITIVES2DATA, *PD3D8_DRAWPRIMITIVES2DATA;
  43. typedef struct _D3D8_CONTEXTCREATEDATA
  44. {
  45. HANDLE hDD; // in: Driver struct
  46. HANDLE hSurface; // in: Surface to be used as target
  47. HANDLE hDDSZ; // in: Surface to be used as Z
  48. DWORD dwPID; // in: Current process id
  49. ULONG_PTR dwhContext; // in/out: Context handle
  50. HRESULT ddrval;
  51. // Private buffer information. To make it similar to
  52. // D3DNTHAL_CONTEXTCREATEI
  53. PVOID pvBuffer;
  54. ULONG cjBuffer;
  55. } D3D8_CONTEXTCREATEDATA, * PD3D8_CONTEXTCREATEDATA;
  56. #endif