Win32 API:DDHAL_WAITFORVERTICALBLANKDATA 结构(Ddrawi.h)
在 Win32 API 的 DirectDraw 中,DDHAL_WAITFORVERTICALBLANKDATA 是 DirectDraw Hardware Abstraction Layer (DDHAL) 结构体之一,用于在垂直空白期等待。以下是 DDHAL_WAITFORVERTICALBLANKDATA 结构体的典型定义:typedef struct _DDHAL_WAITFORVERTICALBLANKDATA { PDD_DIRECTDRAW_GLOBAL lpDD; PDD_SURFACE_LOCAL lpDDSurface; HRESULT ddRVal; VOID* WaitForVerticalBlank;} DDHAL_WAITFORVERTICALBLANKDATA;结构体成员说明: lpDD:指向 DD_DIRECTDRAW_GLOBAL 结构的指针,表示全局 DirectDraw 数据。 lpDDSurface:指向 DD_SURFACE_LOCAL 结构的指针,表示要等待垂直空白期的表面。 ddRVal:返回值,表示等待操作的结果...
Win32 API:DDHAL_DESTROYDDLOCALDATA 结构(Ddrawi.h)
DDHAL_DESTROYDDLOCALDATA 是 DirectDraw Hardware Abstraction Layer (DDHAL) 结构体之一,用于销毁 DirectDraw 本地数据。这个结构体通常在 DirectDraw 驱动程序中的 DestroyDDLocal 函数中使用。请注意,DDHAL 结构体在 Ddrawi.h 头文件中定义。以下是 DDHAL_DESTROYDDLOCALDATA 结构体的典型定义:typedef struct _DDHAL_DESTROYDDLOCALDATA { PDD_DIRECTDRAW_LOCAL lpDD; HRESULT ddRVal; VOID* DestroyDDLocal;} DDHAL_DESTROYDDLOCALDATA;结构体成员说明: lpDD:指向 DD_DIRECTDRAW_LOCAL 结构的指针,表示要销毁的 DirectDraw 本地数据。 ddRVal:返回值,表示销毁操作的结果。 DestroyDDLocal:指向函数的指针,用于执行销毁操作。这个结构体的具体用法和成员可能因不同的...
Win32 API:DdCreateDirectDrawObject 函数(Ddrawgdi.h)
在 Win32 API 中,DdCreateDirectDrawObject 函数是 DirectDraw 的一个底层函数,用于创建 IDirectDraw 接口的实例。该函数通常用于创建 DirectDraw 对象,以便进行图形渲染和相关操作。请注意,DdCreateDirectDrawObject 函数主要用于驱动程序层面,一般应用程序更常使用 DirectDraw 提供的高层接口。以下是 DdCreateDirectDrawObject 函数的典型定义:PVOID DdCreateDirectDrawObject( HANDLE hDirectDrawLocal, PVOID *pDirectDrawGlobal, DD_CALLBACKS *pCallBacks, DD_HALINFO *pHalInfo);参数解释如下: hDirectDrawLocal: 本地 DirectDraw 对象的句柄。 pDirectDrawGlobal: 全局 DirectDraw 对象的指针。 pCallBacks: 一个指向 DD_CALLBACKS 结构的指针,其中包含了对 Dir...
Win32 API:IDirectDrawSurface7 接口(Ddraw.h)
在 Win32 API 的 DirectDraw 中,IDirectDrawSurface7 接口是用于表示 DirectDraw 表面的接口。这个接口提供了访问和操作 DirectDraw 表面的方法。以下是 IDirectDrawSurface7 接口的定义:#undef INTERFACE#define INTERFACE IDirectDrawSurface7DECLARE_INTERFACE_(IDirectDrawSurface7, IUnknown) { // IUnknown methods STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE; STDMETHOD_(ULONG, AddRef)(THIS) PURE; STDMETHOD_(ULONG, Release)(THIS) PURE; // IDirectDrawSurface7 methods STDMETHOD(AddAttachedSurface)(THIS_ LPDIRECTDRAWSURFACE7) PURE...
Win32 API:IDirectDrawPalette 接口(Ddraw.h)
在 Win32 API 的 DirectDraw 中,IDirectDrawPalette 接口用于创建和管理调色板对象,它定义了一些方法来操作调色板。以下是 IDirectDrawPalette 接口的定义:#undef INTERFACE#define INTERFACE IDirectDrawPaletteDECLARE_INTERFACE_(IDirectDrawPalette, IUnknown) { // IUnknown methods STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE; STDMETHOD_(ULONG, AddRef)(THIS) PURE; STDMETHOD_(ULONG, Release)(THIS) PURE; // IDirectDrawPalette methods STDMETHOD(GetCaps)(THIS_ LPDWORD) PURE; STDMETHOD(GetEntries)(THIS_ DWORD, DWORD, DWORD, ...
Win32 API:IDirectDrawGammaControl 接口(Ddraw.h)
在 Win32 API 的 DirectDraw 中,IDirectDrawGammaControl 接口用于控制和调整显示设备的伽马校正。伽马校正是一种用于调整图像亮度和对比度的技术。以下是 IDirectDrawGammaControl 接口的定义:#undef INTERFACE#define INTERFACE IDirectDrawGammaControlDECLARE_INTERFACE_(IDirectDrawGammaControl, IUnknown) { // IUnknown methods STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE; STDMETHOD_(ULONG, AddRef)(THIS) PURE; STDMETHOD_(ULONG, Release)(THIS) PURE; // IDirectDrawGammaControl methods STDMETHOD(GetGammaRamp)(THIS_ DWORD, LPDDGAMMARAMP) PUR...
Win32 API:IDirectDrawColorControl 接口(Ddraw.h)
在 Win32 API 的 DirectDraw 中,IDirectDrawColorControl 接口是用于进行颜色控制的接口。这个接口主要用于调整视频图像的亮度、对比度、饱和度等属性。以下是 IDirectDrawColorControl 接口的定义:#undef INTERFACE#define INTERFACE IDirectDrawColorControlDECLARE_INTERFACE_(IDirectDrawColorControl, IUnknown) { // IUnknown methods STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; // IDirectDrawColorControl methods STDMETHOD(GetColorControls)(THIS_ LPDDCOLORCONTROL) PUR...
Win32 API:IDirectDrawClipper 接口(Ddraw.h)
IDirectDrawClipper 接口是在 Win32 API 的 DirectDraw 中定义的接口,用于创建和管理裁剪器对象。裁剪器对象用于定义窗口或视口,限定在该窗口内进行渲染。以下是 IDirectDrawClipper 接口的定义:#undef INTERFACE#define INTERFACE IDirectDrawClipperDECLARE_INTERFACE_(IDirectDrawClipper, IUnknown) { // IUnknown methods STDMETHOD(QueryInterface)(THIS_ REFIID, LPVOID*) PURE; STDMETHOD_(ULONG,AddRef)(THIS) PURE; STDMETHOD_(ULONG,Release)(THIS) PURE; // IDirectDrawClipper methods STDMETHOD(GetClipList)(THIS_ LPRECT, LPRGNDATA, LPDWORD) PURE; STDMETHOD(...
Win32 API:IDirectDraw7 接口(Ddraw.h)
IDirectDraw7 接口是在 Win32 API 的 DirectDraw 中定义的接口,用于进行 2D 图形渲染。这个接口提供了访问 DirectDraw 对象的方法,允许应用程序创建和管理图形表面以及执行与图形渲染相关的操作。下面是 IDirectDraw7 接口的定义:#undef INTERFACE#define INTERFACE IDirectDraw7DECLARE_INTERFACE_(IDirectDraw7, IUnknown) { // IUnknown methods STDMETHOD(QueryInterface) (THIS_ REFIID, LPVOID*) PURE; STDMETHOD_(ULONG,AddRef) (THIS) PURE; STDMETHOD_(ULONG,Release) (THIS) PURE; // IDirectDraw methods STDMETHOD(Compact)(THIS) PURE; STDMETHOD(CreateClipper)(THIS_ DWORD, LP...
Win32 API:DDSCAPS2 结构(Ddraw.h)
在 Win32 API 的 DirectDraw 中,DDSCAPS2 结构体是对 DDSCAPS 结构体的扩展,用于描述 DirectDraw 表面的功能和用途。这个结构在 Ddraw.h 头文件中定义如下:typedef struct _DDSCAPS2 { DWORD dwCaps; // 表面的功能标志 DWORD dwCaps2; // 表面的功能标志(扩展) DWORD dwCaps3; // 表面的功能标志(进一步扩展) union { DWORD dwCaps4; // 表面的功能标志(更进一步扩展) DWORD dwVolumeDepth; // 3D纹理的体积深度 };} DDSCAPS2;这个结构体包含了一系列成员,用于指定 DirectDraw 表面的功能。这些成员包括: dwCaps: 表面的基本功能标志。 dwCaps2: 表面的功能标志(扩展)。 dwCaps3: 表面的功能标志(更进一步扩展)。 dwCaps4 或 dwVolume...
Win32 API:DDSCAPS 结构(Ddraw.h)
在 Win32 API 的 DirectDraw 中,DDSCAPS 结构体用于描述 DirectDraw 表面的功能和用途。这个结构在 Ddraw.h 头文件中定义如下:typedef struct _DDSCAPS { DWORD dwCaps; // 表面的功能标志} DDSCAPS;这个结构体包含一个成员 dwCaps,它是一个标志位,表示 DirectDraw 表面的功能。这些标志位可以用于指定表面的用途,例如纹理、渲染目标等。在使用 DirectDraw 时,DDSCAPS 结构体通常与其他结构体一起使用,例如 DDSURFACEDESC2 结构体。通过在表面描述结构中设置不同的 dwCaps 标志,您可以告诉 DirectDraw 如何创建和使用这个表面。以下是一些可能的 dwCaps 常用标志: DDSCAPS_TEXTURE: 表面用作纹理。 DDSCAPS_BACKBUFFER: 表面是一个后备缓冲区。 DDSCAPS_PRIMARYSURFACE: 表面是主表面(通常是显示设备的前缓冲区)。 DDSCAPS_OFFSCREENPLAIN...
Win32 API:DDPIXELFORMAT 结构(Ddraw.h)
在 Win32 API 的 DirectDraw 中,DDPIXELFORMAT 结构体用于描述图像表面的像素格式。这个结构在 Ddraw.h 头文件中定义如下:typedef struct _DDPIXELFORMAT { DWORD dwSize; // 结构体的大小 DWORD dwFlags; // 像素格式的标志 DWORD dwFourCC; // FourCC代码 union { DWORD dwRGBBitCount; // RGB位深度 DWORD dwYUVBitCount; // YUV位深度 }; union { DWORD dwRBitMask; // 红色掩码 DWORD dwYBitMask; // 亮度掩码 }; union { ...
Win32 API:DDOVERLAYFX 结构(Ddraw.h)
在 Win32 API 的 DirectDraw 中,DDOVERLAYFX 结构体用于描述叠加表面效果的信息。这个结构在 Ddraw.h 头文件中定义如下:typedef struct _DDOVERLAYFX { DWORD dwSize; // 结构体的大小 DWORD dwAlphaEdgeBlendBitDepth; // Alpha边缘混合位深度 DWORD dwAlphaEdgeBlend; // Alpha边缘混合标志 DWORD dwReserved; DWORD dwAlphaDestConstBitDepth; // Alpha目标常数位深度 union { DWORD dwAlphaDestConst; // Alpha目标常数值 LPVOID lpDDSAlphaDest; // Alpha目标表面 }; DWORD dwAlphaSrc...
Win32 API:DDGAMMARAMP 结构(Ddraw.h)
在 Win32 API 的 DirectDraw 中,DDGAMMARAMP 结构体用于表示和设置 gamma 颜色校正的信息。这个结构在 Ddraw.h 头文件中定义如下:typedef struct _DDGAMMARAMP { WORD red[256]; // 红色通道的颜色校正表 WORD green[256]; // 绿色通道的颜色校正表 WORD blue[256]; // 蓝色通道的颜色校正表} DDGAMMARAMP;这个结构体包含三个数组,分别对应红色、绿色和蓝色通道的颜色校正表。每个数组包含 256 个元素,每个元素是一个 WORD 类型的值,表示颜色的校正级别。通过使用 IDirectDrawGammaControl::SetGammaRamp 函数,您可以将这个结构体应用于设备上,以实现 gamma 颜色校正。这样的颜色校正可以影响显示的颜色表现,允许开发者调整显示设备上的颜色响应曲线,以满足特定的需求。请注意,使用 gamma 校正时要小心,不适当的调整可能会导致图像颜色不准确。
Win32 API:DDDEVICEIDENTIFIER2 结构(Ddraw.h)
在 Win32 API 中,DDDEVICEIDENTIFIER2 结构体是与 DirectDraw 相关的一个结构,用于描述显示设备的标识信息。这个结构在 Ddraw.h 头文件中定义如下:typedef struct _DDDEVICEIDENTIFIER2 { char szDriver[MAX_DDDEVICEID_STRING]; char szDescription[MAX_DDDEVICEID_STRING]; LARGE_INTEGER liDriverVersion; DWORD dwVendorId; DWORD dwDeviceId; DWORD dwSubSysId; DWORD dwRevision; GUID guidDeviceIdentifier;} DDDEVICEIDENTIFIER2;这个结构体的成员含义如下: szDriver: 字符串数组,包含显示设备驱动程序的名称。 szDescription: 字符串数组...
Win32 API:DDCOLORKEY 结构(Ddraw.h)
DDCOLORKEY 结构是在 DirectDraw 中定义的,用于表示透明色键的信息。该结构定义如下:typedef struct _DDCOLORKEY { DWORD dwColorSpaceLowValue; // 低颜色值 DWORD dwColorSpaceHighValue; // 高颜色值} DDCOLORKEY;这个结构体包含两个成员,dwColorSpaceLowValue 和 dwColorSpaceHighValue,分别表示透明色键的低颜色值和高颜色值。在使用 DirectDraw 时,您可以使用这个结构体来指定图像中应该被视为透明的颜色范围。例如,如果您希望将图像中的白色(RGB值为255,255,255)作为透明色,您可以将 dwColorSpaceLowValue 和 dwColorSpaceHighValue 分别设置为该颜色的 RGB 值。这样的设置可以在使用 SetColorKey 函数时用到,该函数通常用于设置表面的透明色键。
Win32 API:DDCAPS_DX5 结构(Ddraw.h)
DDCAPS_DX5 结构是 DirectDraw 中的一个结构体,定义在 Ddraw.h 头文件中。这个结构体通常用于获取或设置有关 DirectDraw 设备的信息。以下是 DDCAPS_DX5 结构的一般定义:typedef struct _DDCAPS_DX5 { DWORD dwSize; // 结构体大小 DWORD dwCaps; // 设备的功能标志 DWORD dwCaps2; // 设备的功能标志(扩展) DWORD dwCKeyCaps; // 透明色键的功能标志 DWORD dwFXCaps; // 特效功能标志 DWORD dwFXAlphaCaps; // 特效Alpha混合功能标志 DWORD dwPalCaps; // 调色板功能标志 D...
Win32 API:DDCAPS_DX3 结构(Ddraw.h)
在 Win32 API 中,DDCAPS_DX3 结构体是在 DirectDraw 中定义的,位于 Ddraw.h 头文件中。这个结构体主要用于描述 DirectDraw 设备的能力。以下是 DDCAPS_DX3 结构体的定义:typedef struct _DDCAPS_DX3 { DWORD dwSize; // 结构体的大小 DWORD dwCaps; // 设备的能力标志 DWORD dwCaps2; // 附加的设备能力标志 DWORD dwCKeyCaps; // Color keying的能力标志 DWORD dwFXCaps; // 特效的能力标志 DWORD dwFXAlphaCaps; // Alpha通道特效的能力标志 DWORD dwPalCaps; ...
Win32 API:DDBLTFX 结构(Ddraw.h)
DDBLTFX 结构体是在使用 Win32 API 的 DirectDraw 中定义的,位于 Ddraw.h 头文件中。这个结构体用于设置位块传输(blit)操作的附加效果。以下是 DDBLTFX 结构体的定义:typedef struct _DDBLTFX { DWORD dwSize; // 结构体的大小 DWORD dwDDFX; // 预定义的效果标志 DWORD dwROP; // 位块传输的 ROP(Raster Operation)代码 DWORD dwDDROP; // DirectDraw ROP DWORD dwRotationAngle; // 旋转角度 DWORD dwZBufferOpCode; // Z 缓冲区操作码 DWORD dwZBufferLow; // Z 缓冲区低位 DWORD dwZBufferHigh; // Z 缓冲区高位 DWORD dwZBufferBaseDest; // Z 缓冲区基...
Win32 API:DDBLTBATCH 结构(Ddraw.h)
在 Ddraw.h 头文件中,DDBLTBATCH 结构是用于描述 DirectDraw 批量块传输的结构。它通常与 IDirectDrawSurface::BltBatch 方法一起使用,用于在一个调用中执行多个块传输操作。以下是 DDBLTBATCH 结构的典型声明:typedef struct _DDBLTBATCH { LPRECT lprDest; LPDIRECTDRAWSURFACE lpDDSSrc; LPRECT lprSrc; DWORD dwFlags; LPDDBLTFX lpDDBltFx;} DDBLTBATCH, *LPDDBLTBATCH; lprDest: 指向目标矩形的指针,描述目标表面上的矩形区域。 lpDDSSrc: 指向源表面的指针,表示源表面。 lprSrc: 指向源矩形的指针,描述源表面上的矩形区域。 dwFlags: 传输操作的标志,可以是 DDBLT_ASYNC(异步传输)等。 lpDDBltFx: 指向 DDBLTFX 结构的指针,描...