⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ddraw.htm

📁 DirectX 编程初级教程中文版。只要有C++基础和一点三维知识即可。
💻 HTM
📖 第 1 页 / 共 5 页
字号:
    <p><font face="Arial">Windows</font>:适用于<font face="Arial">Windows 95</font>或更新版</p>
    <p><font face="Arial">Windows CE</font>:不支持</p>
    <p>头文件:<font face="Arial">ddraw.h</font></p>
    <p>库文件:<font face="Arial">ddraw.lib</font></p>
    <b><p>请参阅:</p>
    </b><p><font face="Arial">IDirectDraw2::GetDisplayMode</font>,<font face="Arial">IDirectDraw2::SetDisplayMode</font>,<font
    face="Arial">IDirectDraw2::RestoreDisplayMode</font></p>
    </font><hr>
    <font SIZE="3" COLOR="#0000ff"><b>
    <li><font face="Arial"><a name="IDirectDraw2::EnumSurfaces">IDirectDraw2::EnumSurfaces</a></font></li>
    </b></font><font SIZE="3"><p align="right"></font><font color="#FF0000" SIZE="3"><span
    style="color: rgb(255,0,0)"><a href="#目录">回到目录</a></span></font><font SIZE="3"></p>
    <p>列举出所有满足指定的搜索条件的已经存在或可能存在的页面。</p>
    <p><font face="Arial">HRESULT EnumSurfaces(</font></p>
    <p><font face="Arial">DWORD dwFlags, </font></p>
    <p><font face="Arial">LPDDSURFACEDESC lpDDSD, </font></p>
    <p><font face="Arial">LPVOID lpContext, </font></p>
    <p><font face="Arial">LPDDENUMSURFACESCALLBACK lpEnumSurfacesCallback </font></p>
    <p><font face="Arial">);</font></p>
    <b><p>参数:</p>
    </b><p><font face="Arial">dwFlags</font></p>
    <p>下列值的其中一个: </p>
    <p><font face="Arial">DDENUMSURFACES_ALL </font></p>
    <p>列举出满足搜索条件的所有页面。</p>
    <p><font face="Arial">DDENUMSURFACES_CANBECREATED </font></p>
    <p>列举出可以被创建并且满足搜索条件的第一个页面。</p>
    <p><font face="Arial">DDENUMSURFACES_DOESEXIST </font></p>
    <p>列举出满足搜索条件的已经存在的页面。</p>
    <p><font face="Arial">DDENUMSURFACES_MATCH </font></p>
    <p>搜索任何一个符合页面描述的页面。</p>
    <p><font face="Arial">Searches for any surface that matches the surface description. </font></p>
    <p><font face="Arial">DDENUMSURFACES_NOMATCH </font></p>
    <p>搜索任何一个不符合页面描述的页面。</p>
    <p><font face="Arial">lpDDSD</font></p>
    <p>一个<font face="Arial">DDSURFACEDESC</font>结构的地址,用来定义列举页面的依据。</p>
    <p><font face="Arial">lpContext</font></p>
    <p>一个应用程序定义的结构,用来传递给列举的回调函数。</p>
    <p><font face="Arial">lpEnumSurfacesCallback</font></p>
    <p><font face="Arial">EnumSurfacesCallback</font>回调函数的地址,每列举出一个页面的时候,将执行该函数。 
    </p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回<font face="Arial">DD_OK</font>。</p>
    <p>如果函数调用失败,返回值可能是下列错误值之一:</p>
    <p><font face="Arial">DDERR_INVALIDOBJECT </font></p>
    <p><font face="Arial">DDERR_INVALIDPARAMS </font></p>
    <b><p>备注:</p>
    </b><p>如果<font face="Arial">DDENUMSURFACES_CANBECREATED</font>标志被设置,该函数将尝试临时的创建一个满足条件的页面。注意:当一个页面被列举的时候,它的引用记录(<font
    face="Arial">Reference count</font>)递增<font face="Arial">1</font>,如果你不打算使用该页面,就应该在每次列举之后调用<font
    face="Arial">IDirectDraw::Release</font>来释放该页面。</p>
    <p>在<font face="Arial">IDirectDraw</font>的接口版本中,这个函数的<font
    face="Arial">dwFlags</font>参数不支持任何值,除了<font face="Arial">0</font>。</p>
    <b><p>快速信息:</p>
    </b><p><font face="Arial">Windows NT</font>:适用于<font face="Arial">4.0</font>或更新版</p>
    <p><font face="Arial">Windows</font>:适用于<font face="Arial">Windows 95</font>或更新版</p>
    <p><font face="Arial">Windows CE</font>:不支持</p>
    <p>头文件:<font face="Arial">ddraw.h</font></p>
    <p>库文件:<font face="Arial">ddraw.lib</font></p>
    </font><hr>
    <font SIZE="3" COLOR="#0000ff"><b>
    <li><font face="Arial"><a name="IDirectDraw2::FlipToGDISurface">IDirectDraw2::FlipToGDISurface</a></font></li>
    </b></font><font SIZE="3"><p align="right"></font><font color="#FF0000" SIZE="3"><span
    style="color: rgb(255,0,0)"><a href="#目录">回到目录</a></span></font><font SIZE="3"></p>
    <p>使<font face="Arial">GDI</font>所写向的页面成为主页面。</p>
    <p><font face="Arial">HRESULT FlipToGDISurface();</font></p>
    <b><p>参数:</p>
    </b><p>无</p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回<font face="Arial">DD_OK</font>。</p>
    <p>如果函数调用失败,返回值可能是下列错误值之一:</p>
    <p><font face="Arial">DDERR_INVALIDOBJECT </font></p>
    <p><font face="Arial">DDERR_INVALIDPARAMS </font></p>
    <p><font face="Arial">DDERR_NOTFOUND </font></p>
    <b><p>备注:</p>
    </b><p>这个函数可以在一个换页的应用程序结束之前调用,以确保<font
    face="Arial">GDI</font>所写向的显示内存对用户来说是可见的。</p>
    <b><p>快速信息:</p>
    </b><p><font face="Arial">Windows NT</font>:适用于<font face="Arial">4.0</font>或更新版</p>
    <p><font face="Arial">Windows</font>:适用于<font face="Arial">Windows 95</font>或更新版</p>
    <p><font face="Arial">Windows CE</font>:不支持</p>
    <p>头文件:<font face="Arial">ddraw.h</font></p>
    <p>库文件:<font face="Arial">ddraw.lib</font></p>
    <b><p>请参阅:</p>
    </b><p><font face="Arial">IDirectDraw2::GetGDISurface</font></p>
    </font><hr>
    <font SIZE="3" COLOR="#0000ff"><b>
    <li><font face="Arial"><a name="IDirectDraw2::GetAvailableVidMem">IDirectDraw2::GetAvailableVidMem</a></font></li>
    </b></font><font SIZE="3"><p align="right"></font><font color="#FF0000" SIZE="3"><span
    style="color: rgb(255,0,0)"><a href="#目录">回到目录</a></span></font><font SIZE="3"></p>
    <p>该函数可以获得所有可用的显存容量值,和当前可以为某种指定类型的页面所用的空余显存容量值。</p>
    <p><font face="Arial">HRESULT GetAvailableVidMem(</font></p>
    <p><font face="Arial">LPDDSCAPS lpDDSCaps, </font></p>
    <p><font face="Arial">LPDWORD lpdwTotal, </font></p>
    <p><font face="Arial">LPDWORD lpdwFree </font></p>
    <p><font face="Arial">);</font></p>
    <b><p>参数:</p>
    </b><p><font face="Arial">lpDDSCaps</font></p>
    <p>一个<font face="Arial">DDSCAPS</font>结构的地址,用来指定被提供的页面的硬件性能。</p>
    <p><font face="Arial">lpdwTotal</font></p>
    <p>一个变量的地址,将返回所有可用的显存容量值。</p>
    <p><font face="Arial">lpdwFree</font></p>
    <p>一个变量的地址,将返回当前可以分配给某指定类型的页面的空余显存容量值,该页面的类型符合<font
    face="Arial">lpDDSCaps</font>结构。</p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回<font face="Arial">DD_OK</font>。</p>
    <p>如果函数调用失败,返回值可能是下列错误值之一:</p>
    <p><font face="Arial">DDERR_INVALIDCAPS </font></p>
    <p><font face="Arial">DDERR_INVALIDOBJECT </font></p>
    <p><font face="Arial">DDERR_INVALIDPARAMS </font></p>
    <p><font face="Arial">DDERR_NODIRECTDRAWHW </font></p>
    <p>如果给<font face="Arial">lpdwTotal</font>或<font face="Arial">lpdwFree</font>的值为<font
    face="Arial">NULL</font>,则不返回该参数的值。</p>
    <b><p>备注:</p>
    </b><p>下面的<font face="Arial">C++</font>例子演示了如何使用<font face="Arial">IDirectDraw2::GetAvailableVidMem</font>来测得可以为材质贴图页面(<font
    face="Arial">texture-map surfaces</font>)所用的全部和空余的显存数量。</p>
    <p><font face="Arial">LPDIRECTDRAW2 lpDD2; </font></p>
    <p><font face="Arial">DDSCAPS ddsCaps; </font></p>
    <p><font face="Arial">DWORD dwTotal; </font></p>
    <p><font face="Arial">DWORD dwFree; </font></p>
    <p><font face="Arial">ddres = lpDD-&gt;QueryInterface(IID_IDirectDraw2, &amp;lpDD2); </font></p>
    <p><font face="Arial">if (FAILED(ddres)) </font></p>
    <p><font face="Arial">. </font></p>
    <p><font face="Arial">. </font></p>
    <p><font face="Arial">ddsCaps.dwCaps = DDSCAPS_TEXTURE; </font></p>
    <p><font face="Arial">ddres = lpDD2-&gt;GetAvailableVidMem(&amp;ddsCaps, &amp;dwTotal, 
    &amp;dwFree); </font></p>
    <p><font face="Arial">if (FAILED(ddres)) </font></p>
    <p><font face="Arial">. </font></p>
    <p><font face="Arial">. </font></p>
    <p>这个函数只是为当前的显存状态做了一个快照。空余显存容量将随着页面的创建和销毁而不断的改变。因此,你应该把这个空余容量当作一个近似值来使用。此外,某些种类的显示卡不会将某两种不同的显存类型视为不同。例如:某显卡可能会使用显存上的同一区域既储存<font
    face="Arial">z-</font>缓冲区值,又储存材质。于是,给其中的某一个页面类型(如<font
    face="Arial">z-</font>缓冲区)分配内存将影响到另一个页面类型(如材质)所能使用的内存容量。因此,最好的做法是:首先就给应用程序划分好固定的资源(比如前台和后台缓冲区,<font
    face="Arial">z-</font>缓冲区),而不是动态的分配内存(如材质贴图)。</p>
    <p>该函数在<font face="Arial">IDirectDraw</font>接口中不存在。</p>
    <b><p>快速信息:</p>
    </b><p><font face="Arial">Windows NT</font>:适用于<font face="Arial">4.0</font>或更新版</p>
    <p><font face="Arial">Windows</font>:适用于<font face="Arial">Windows 95</font>或更新版</p>
    <p><font face="Arial">Windows CE</font>:不支持</p>
    <p>头文件:<font face="Arial">ddraw.h</font></p>
    <p>库文件:<font face="Arial">ddraw.lib</font></p>
    </font><hr>
    <font SIZE="3" COLOR="#0000ff"><b>
    <li><font face="Arial"><a name="IDirectDraw2::GetCaps">IDirectDraw2::GetCaps</a></font></li>
    </b></font><font SIZE="3"><p align="right"></font><font color="#FF0000" SIZE="3"><span
    style="color: rgb(255,0,0)"><a href="#目录">回到目录</a></span></font><font SIZE="3"></p>
    <p>获得硬件和硬件仿真层(<font face="Arial">HEL</font>)的设备驱动性能。</p>
    <p><font face="Arial">HRESULT GetCaps(</font></p>
    <p><font face="Arial">LPDDCAPS lpDDDriverCaps, </font></p>
    <p><font face="Arial">LPDDCAPS lpDDHELCaps </font></p>
    <p><font face="Arial">);</font></p>
    <b><p>参数:</p>
    </b><p><font face="Arial">lpDDDriverCaps</font></p>
    <p>将被填充设备驱动所报告的描述了硬件性能的<font face="Arial">DDCAPS</font>结构的地址。如果不想获得该描述,设置该参数为<font
    face="Arial">NULL</font>。</p>
    <p><font face="Arial">lpDDHELCaps</font></p>
    <p>将被填充描述硬件仿真层(<font face="Arial">HEL</font>)性能的<font
    face="Arial">DDCAPS</font>结构的地址。如果不想获得该描述,设置该参数为<font
    face="Arial">NULL</font>。</p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回<font face="Arial">DD_OK</font>。</p>
    <p>如果函数调用失败,返回值可能是下列错误值之一:</p>
    <p><font face="Arial">DDERR_INVALIDOBJECT </font></p>
    <p><font face="Arial">DDERR_INVALIDPARAMS </font></p>
    <p>用户只能将两个参数之中的一个设为<font face="Arial">NULL</font>以排除该参数。如果两个参数均被设为<font
    face="Arial">NULL</font>,该函数返回<font face="Arial">DDERR_INVALIDPARAMS </font>。</p>
    <b><p>快速信息:</p>
    </b><p><font face="Arial">Windows NT</font>:适用于<font face="Arial">4.0</font>或更新版</p>
    <p><font face="Arial">Windows</font>:适用于<font face="Arial">Windows 95</font>或更新版</p>
    <p><font face="Arial">Windows CE</font>:不支持</p>
    <p>头文件:<font face="Arial">ddraw.h</font></p>
    <p>库文件:<font face="Arial">ddraw.lib</font></p>
    </font><hr>
    <font SIZE="3" COLOR="#0000ff"><b>
    <li><font face="Arial"><a name="IDirectDraw2::GetDisplayMode">IDirectDraw2::GetDisplayMode</a></font></li>
    </b></font><font SIZE="3"><p align="right"></font><font color="#FF0000" SIZE="3"><span
    style="color: rgb(255,0,0)"><a href="#目录">回到目录</a></span></font><font SIZE="3"></p>
    <p>获得当前的显示模式。</p>
    <p><font face="Arial">HRESULT GetDisplayMode(</font></p>
    <p><font face="Arial">LPDDSURFACEDESC lpDDSurfaceDesc </font></p>
    <p><font face="Arial">);</font></p>
    <b><p>参数:</p>
    </b><p><font face="Arial">lpDDSurfaceDesc</font></p>
    <p>一个<font face="Arial">DDSURFACEDESC</font>结构的地址,将被填充页面描述。</p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回<font face="Arial">DD_OK</font>。</p>
    <p>如果函数调用失败,返回值可能是下列错误值之一:</p>
    <p><font face="Arial">DDERR_INVALIDOBJECT </font></p>
    <p><font face="Arial">DDERR_INVALIDPARAMS </font></p>
    <p><font face="Arial">DDERR_UNSUPPORTEDMODE </font></p>
    <b><p>备注:</p>
    </b><p>应用程序不应该保存这个函数所返回的信息,以在程序收尾时恢复显示模式。而应该在程序收尾时调用<font
    face="Arial">IDirectDraw2::RestoreDisplayMode</font>函数来恢复显示模式,从而避免在多进程的环境中导致模式设置的冲突。</p>
    <b><p>快速信息:</p>
    </b><p><font face="Arial">Windows NT</font>:适用于<font face="Arial">4.0</font>或更新版</p>
    <p><font face="Arial">Windows</font>:适用于<font face="Arial">Windows 95</font>或更新版</p>
    <p><font face="Arial">Windows CE</font>:不支持</p>
    <p>头文件:<font face="Arial">ddraw.h</font></p>
    <p>库文件:<font face="Arial">ddraw.lib</font></p>
    <b><p>请参阅:</p>

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -