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) |