DD_GETDRIVERINFODATA structure (ddrawint.h)

The DD_GETDRIVERINFODATA structure is used to pass data to and from the DdGetDriverInfo callback routine.

Syntax

typedef struct _DD_GETDRIVERINFODATA {
  VOID    *dhpdev;
  DWORD   dwSize;
  DWORD   dwFlags;
  GUID    guidInfo;
  DWORD   dwExpectedSize;
  PVOID   lpvData;
  DWORD   dwActualSize;
  HRESULT ddRVal;
} *PDD_GETDRIVERINFODATA, DD_GETDRIVERINFODATA;

Members

dhpdev

Handle to the driver's PDEV. Microsoft Windows 2000 and later only.

dwSize

Specifies the size in bytes of this DD_GETDRIVERINFODATA structure.

dwFlags

Currently unused and is set to zero.

guidInfo

Specifies the GUID of the Microsoft DirectX support for which the driver is being queried. In a Windows 2000 and later Microsoft DirectDraw driver, this member can be one of the following values (in alphabetic order):

GUID Description
GUID_ColorControlCallbacks Queries whether the driver supports DdControlColor. If the driver does support it, the driver should initialize and return a DD_COLORCONTROLCALLBACKS structure in the buffer to which lpvData points.
GUID_D3DCallbacks Queries whether the driver supports any of the functionality specified through the D3DHAL_CALLBACKS structure. If the driver does not provide any of this support, it should initialize and return a D3DHAL_CALLBACKS structure in the buffer to which lpvData points.
GUID_D3DCallbacks2 Obsolete.
GUID_D3DCallbacks3 Queries whether the driver supports any of the functionality specified through the D3DHAL_CALLBACKS3 structure. If the driver does provide any of this support, it should initialize and return a D3DHAL_CALLBACKS3 structure in the buffer to which lpvData points.
GUID_D3DCaps Obsolete.
GUID_D3DExtendedCaps Queries whether the driver supports any of the Microsoft Direct3D functionality specified through the D3DHAL_D3DEXTENDEDCAPS structure. If the driver does provide any of this support, it should initialize and return a D3DHAL_D3DEXTENDEDCAPS structure in the buffer to which lpvData points.
GUID_D3DParseUnknownCommandCallback Provides the Direct3D portion of the driver with the Direct3D runtime's D3dParseUnknownCommandCallback. The driver's D3dDrawPrimitives2 callback calls D3dParseUnknownCommandCallback to parse commands from the command buffer that the driver doesn't understand.DirectDraw passes a pointer to this function in the buffer to which lpvData points. If the driver supports this aspect of Direct3D, it should store the pointer.
GUID_GetHeapAlignment Queries whether the driver supports surface alignment requirements on a per-heap basis. If the driver does provide this support, it should initialize and return a DD_GETHEAPALIGNMENTDATA structure in the buffer to which lpvData points.
GUID_KernelCallbacks Queries whether the driver supports any of the functionality specified through the DD_KERNELCALLBACKS structure. If the driver does provide any of this support, it should initialize and return a DD_KERNELCALLBACKS structure in the buffer to which lpvData points.
GUID_KernelCaps Queries whether the driver supports any of the kernel-mode capabilities specified through the DDKERNELCAPS structure. If the driver does provide any of this support, it should initialize and return a DDKERNELCAPS structure in the buffer to which lpvData points.
GUID_MiscellaneousCallbacks Queries whether the driver supports DdGetAvailDriverMemory. If the driver does support it, the driver should initialize and return a DD_MISCELLANEOUSCALLBACKS structure in the buffer to which lpvData points.
GUID_Miscellaneous2Callbacks Queries whether the driver supports the additional miscellaneous functionality specified in the DD_MISCELLANEOUS2CALLBACKS structure. If the driver does support any of this support, the driver should initialize and return a DD_MISCELLANEOUS2CALLBACKS structure in the buffer to which lpvData points.
GUID_MotionCompCallbacks Queries whether the driver supports the motion compensation functionality specified through the DD_MOTIONCOMPCALLBACKS structure. If the driver does provide any of this support, is should initialize and return a DD_MOTIONCOMPCALLBACKS structure in the buffer to which lpvData points.
GUID_NonLocalVidMemCaps Queries whether the driver supports any of the nonlocal display memory capabilities specified through the DD_NONLOCALVIDMEMCAPS structure. If the driver does provide any of this support, it should initialize and return a DD_NONLOCALVIDMEMCAPS structure in the buffer to which lpvData points.
GUID_NTCallbacks Queries whether the driver supports any of the functionality specified through the DD_NTCALLBACKS structure. If the driver does provide any of this support, it should initialize and return a DD_NTCALLBACKS structure in the buffer to which lpvData points.
GUID_NTPrivateDriverCaps Queries whether the driver supports the Windows 98/Me-style surface creation techniques specified through the DD_NTPRIVATEDRIVERCAPS structure. If the driver does provide any of this support, it should initialize and return a DD_NTPRIVATEDRIVERCAPS structure in the buffer to which lpvData points.
GUID_UpdateNonLocalHeap Queries whether the driver supports retrieval of the base addresses of each nonlocal heap in turn. If the driver does provide this support, it should initialize and return a DD_UPDATENONLOCALHEAPDATA structure in the buffer to which lpvData points.
GUID_VideoPortCallbacks Queries whether the driver supports the video port extensions (VPE). If the driver does support VPE, it should initialize and return a DD_VIDEOPORTCALLBACKS structure in the buffer to which lpvData points.
GUID_VideoPortCaps Queries whether the driver supports any of the VPE object capabilities specified through the DDVIDEOPORTCAPS structure. If the driver does provide any of this support, it should initialize and return a DDVIDEOPORTCAPS structure in the buffer to which lpvData points.
GUID_ZPixelFormats Queries the pixel formats supported by the depth buffer. If the driver supports Direct3D, it should allocate and initialize the appropriate members of a DDPIXELFORMAT structure for every z-buffer format that it supports and return these in the buffer to which lpvData points.

dwExpectedSize

Specifies the number of bytes of data that DirectDraw expects the driver to pass back in the buffer to which lpvData points.

lpvData

Points to a DirectDraw-allocated buffer into which the driver copies the requested data. This buffer is typically dwExpectedSize bytes in size. The driver must not write more than dwExpectedSize bytes of data in it. The driver specifies the number of bytes that it writes to this buffer in the dwActualSize member.

dwActualSize

Specifies the location in which the driver returns the number of bytes of data it writes in lpvData.

ddRVal

Specifies the location in which the driver writes the return value of the DdGetDriverInfo callback. A return code of DD_OK indicates success. For more information, see Return Values for DirectDraw.

Remarks

The data structure passed to the driver for a DdGetDriverInfo call has minor differences between Windows 98/Me and Windows 2000 and later. On Windows 2000 and later the data structure is called DD_GETDRIVERINFODATA and on Windows 98/Me the data structure is called DDHAL_GETDRIVERINFODATA. Both data structures include a field for driver specific context information. On Windows 2000 and later, DD_GETDRIVERINFODATA includes a field dhpdev that stores the DHPDEV of the driver being called. Only on Windows 98/Me, DDHAL_GETDRIVERINFODATA includes a field dwContext that is copied for the driver reserved dwReserved3 field of the DirectDraw global object.

Requirements

Requirement Value
Header ddrawint.h (include Winddi.h)

See also

DdGetDriverInfo