全局函数
全局函数
返回上级
DirectDrawCreate
DirectDrawCreateClipper
DirectDrawEnumerate
DirectDrawEnumerateEx
- DirectDrawCreate
返回目录
- DirectDrawCreateClipper
返回目录
- DirectDrawEnumerate
返回目录
- DirectDrawEnumerateEx
返回目录
创建一个DirectDraw对象的实例。
HRESULT WINAPI DirectDrawCreate(
GUID FAR *lpGUID,
LPDIRECTDRAW FAR *lplpDD,
IUnknown FAR *pUnkOuter
);
参数:
lpGUID
全局唯一标志符(GUID)的地址,代表了要创建的驱动类型。该参数可以是NULL,代表当前所使用的显示驱动;你也可以指定其为下列值之一,以限制当前显示驱动的行为能力,为调试所用。
DDCREATE_EMULATIONONLY
该DirectDraw对象只使用软件仿真的方式实现所有的特性;它将不会从硬件加速中获得任何好处。
DDCREATE_HARDWAREONLY
该DirectDraw对象只使用硬件支持的加速特性;对于那些硬件不支持的特性,也绝不会使用软件仿真的方式来完成,而且将返回DDERR_UNSUPPORTED的错误值。
lplpDD
如果函数调用成功,该参数将为指向一合法的DirectDraw对象的指针的地址。
pUnkOuter
该参数将允许与今后的COM集合特性相兼容。目前,只要这个参数不是NULL,该函数将返回一个错误。
返回值:
如果函数调用成功,返回DD_OK。
如果函数调用失败,返回值可能是下列错误值之一:
DDERR_DIRECTDRAWALREADYCREATED
DDERR_GENERIC
DDERR_INVALIDDIRECTDRAWGUID
DDERR_INVALIDPARAMS
DDERR_NODIRECTDRAWHW
DDERR_OUTOFMEMORY
备注:
该函数试图初始化一个DirectDraw对象,如果成功则返回一个指向该对象的指针。
在多显示器的系统上,当设置协作模式为普通,并给lpGUID指定了NULL将导致DirectDraw对象运行于仿真的模式。要在这些系统上获得硬件加速特性,你必须指定设备的GUID。要得到更多的资料,请参阅“多显示器系统上的设备和加速”(DirectX基本概念.doc)。
快速信息:
Windows NT:适用于4.0或更新版
Windows:适用于Windows 95或更新版
Windows CE:不支持
头文件:ddraw.h
库文件:ddraw.lib
创建一个与任何DirectDraw对象都无关的DirectDrawClipper对象的实例。
HRESULT WINAPI DirectDrawCreateClipper(
DWORD dwFlags,
LPDIRECTDRAWCLIPPER FAR *lplpDDClipper,
IUnknown FAR *pUnkOuter
);
参数:
dwFlags
该参数尚未使用,只能设为0。
lplpDDClipper
一个指向新的DirectDrawClipper对象的指针的地址。
pUnkOuter
该参数将允许与今后的COM集合特性相兼容。目前,只要这个参数不是NULL,该函数将返回一个错误。
返回值:
如果函数调用成功,返回DD_OK。
如果函数调用失败,返回值可能是下列错误值之一:
DDERR_INVALIDPARAMS
DDERR_OUTOFMEMORY
备注:
该函数可以在所有DirectDraw对象被创建之前调用。因为这些DirectDrawClipper对象不被任何DirectDraw对象所拥有,所以在应用程序对象被释放的时候,它们不会自动的被释放。应用程序应该在结束前明确的释放这些DirectDrawClipper对象。
要创建一个被某特定的DirectDraw对象所拥有的DirectDrawClipper对象,应使用IDirectDraw2::CreateClipper函数。
快速信息:
Windows NT:适用于4.0或更新版
Windows:适用于Windows 95或更新版
Windows CE:不支持
头文件:ddraw.h
库文件:ddraw.lib
请参阅:
IDirectDraw2::CreateClipper
列举出主要的DirectDraw显示设备或一个非显示设备(比如一个不带2-D特性的3-D加速卡)。NULL入口通常指定了与GDI共享的主显示设备。
HRESULT WINAPI DirectDrawEnumerate(
LPDDENUMCALLBACK lpCallback,
LPVOID lpContext
);
参数:
lpCallback
DDEnumCallback回调函数的地址,每列举出一个模式的时候,将执行该函数,并且传递一个DirectDraw HAL的描述。
lpContext
一个应用程序定义的结构的地址,用来传递给列举的回调函数。
返回值:
如果函数调用成功,返回DD_OK。
如果函数调用失败,返回DDERR_INVALIDPARAMS。
快速信息:
Windows NT:适用于4.0或更新版
Windows:适用于Windows 95或更新版
Windows CE:不支持
头文件:ddraw.h
库文件:ddraw.lib
请参阅:
DirectDrawEnumerateEx
列举已安装的所有DirectDraw设备。NULL入口通常指定与GDI共享的主显示设备。
HRESULT WINAPI DirectDrawEnumerateEx(
LPDDENUMCALLBACKEX lpCallback,
LPVOID lpContext,
DWORD dwFlags
);
参数:
lpCallback
DDEnumCallbackEx回调函数的地址,每列举出一个模式的时候,将执行该函数,并且传递一个DirectDraw HAL的描述。
lpContext
一个应用程序定义的结构的地址,用来传递给列举的回调函数。
dwFlags
指定列举的范围。该参数可以是0或下列标志的组合:
0
该函数将只列举出主显示设备和一个已安装的非显示设备。
DDENUM_ATTACHEDSECONDARYDEVICES
该函数将列举出主设备,和任何隶属于桌面的显示设备。
DDENUM_DETACHEDSECONDARYDEVICES
该函数将列举出主设备,和任何不隶属于桌面的显示设备。
DDENUM_NONDISPLAYDEVICES
该函数将列举出非显示设备,比如不带2-D特性的3-D加速卡。
返回值:
如果函数调用成功,返回DD_OK。
如果函数调用失败,返回DDERR_INVALIDPARAMS。
备注:
在多显示器系统上,该函数列举出多显示设备。要得到更多资料,请参阅“多显示器系统”。
该函数只被Windows98和Windows NT 5.0支持。调用GetProcAddress Win32函数(指定"DirectDrawEnumerateExA" (ANSI)或"DirectDrawEnumerateExW" (Unicode) 过程名称字符串)可以从Ddraw.dll动态连接库获得DirectDrawEnumerateEx函数的地址。如果失败,则表明安装的操作系统的版本不支持多显示器。要得到更多的资料,请参阅“在多显示器系统上列举设备”。
快速信息:
Windows NT:适用于5.0或更新版
Windows:适用于Windows 98或更新版
Windows CE:不支持
头文件:ddraw.h
库文件:ddraw.lib
返回目录