NtGdiDdCreateD3DBuffer 函数

[此函数可能会随每个操作系统修订版而更改。 请改用 Microsoft DirectDraw 和 Microsoft Direct3DAPI;这些 API 将应用程序与此类操作系统更改隔离开来,并隐藏与显示驱动程序直接交互时涉及的许多其他困难。]

用于创建指定说明的驱动程序级命令或顶点缓冲区。

语法

DWORD APIENTRY NtGdiDdCreateD3DBuffer(
  _In_    HANDLE               hDirectDraw,
  _Inout_ HANDLE               *hSurface,
  _Inout_ DDSURFACEDESC        *puSurfaceDescription,
  _Inout_ DD_SURFACE_GLOBAL    *puSurfaceGlobalData,
  _Inout_ DD_SURFACE_LOCAL     *puSurfaceLocalData,
  _Inout_ DD_SURFACE_MORE      *puSurfaceMoreData,
  _Inout_ DD_CREATESURFACEDATA *puCreateSurfaceData,
  _Inout_ HANDLE               *puhSurface
);

参数

hDirectDraw [in]

表示驱动程序的 DD_DIRECTDRAW_GLOBAL 结构的句柄。

hSurface [in, out]

指向图柄数组的指针。 如果在模式切换后重新创建图面,调用方可以将这些句柄设置为以前的句柄值。 此过程在 DirectDraw 文档中称为“还原”。

puSurfaceDescription [in, out]

指向描述驱动程序应创建的图面或缓冲区的 DDSURFACEDESC 结构的指针。

puSurfaceGlobalData [in, out]

指向 DD_SURFACE_GLOBAL 结构的指针,该结构包含与多个图面全局共享的图面数据。

puSurfaceLocalData [in, out]

指向描述驱动程序创建的图面对象的 DD_SURFACE_LOCAL 结构列表的指针。 此数组中通常只有一个条目。

puSurfaceMoreData [in, out]

指向包含其他本地图面数据的 DD_SURFACE_MORE 结构的指针。

puCreateSurfaceData [in, out]

指向 DD_CREATESURFACEDATA 结构的指针,该结构包含创建缓冲区所需的信息。

puhSurface [in, out]

由 DirectDraw API 使用,不应由驱动程序填充。

返回值

NtGdiDdCreateD3DBuffer 返回以下回调代码之一。

返回代码 描述
DDHAL_DRIVER_HANDLED
驱动程序已执行该操作并返回该操作的有效返回代码。 如果此代码DD_OK,则 DirectDraw 或 Direct3D 将继续执行 函数。 否则,DirectDraw 或 Direct3D 将返回驱动程序提供的错误代码并中止该函数。
DDHAL_DRIVER_NOTHANDLED
驱动程序对请求的操作没有注释。 如果驱动程序需要实现特定的回调,DirectDraw 或 Direct3D 将报告错误条件。 否则,DirectDraw 或 Direct3D 会像未通过执行与 DirectDraw 或 Direct3D 设备无关的实现来定义驱动程序回调一样处理操作。

 

要求

要求
最低受支持的客户端
Windows 2000 Professional [仅限桌面应用]
最低受支持的服务器
Windows 2000 Server [仅限桌面应用]
标头
Ntgdi.h

另请参阅

图形低级别客户端支持