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

📄 ddraw.htm

📁 DirectX 编程初级教程中文版。只要有C++基础和一点三维知识即可。
💻 HTM
📖 第 1 页 / 共 5 页
字号:
<html>

<head>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
<title>IDirectDraw2接口</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>

<body>
<b><font SIZE="4">

<p align="center"></font><a name="目录"><font color="#FF8000" face="Arial" size="6">IDirectDraw2</font><font
color="#FF8000" size="6">接口</font></a></b></p>

<p align="right" style="margin-top: -10; margin-bottom: -8"><a href="index.htm"
style="text-decoration: none"><span style="text-decoration: none">返回上级</span></a></p>

<hr>

<ol>
  <ol>
    <font SIZE="3"><p>应用程序使用<font face="Arial">IDirectDraw2</font>接口的方法来创建<font
    face="Arial">DirectDraw</font>的各种对象,并且与系统层变量一起工作。这部分是关于该接口的函数参考。<font
    SIZE="3" face="Arial">IDirectDraw2</font>接口的函数可以分为以下几组:</p>
    </font><table CELLSPACING="0" BORDER="0" CELLPADDING="7" WIDTH="359">
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>分配内存</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::Compact"><font SIZE="3" face="Arial">Compact</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::Initialize"><font SIZE="3"
        face="Arial">Initialize</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>创建对象</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::CreateClipper"><font SIZE="3"
        face="Arial">CreateClipper</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::CreatePalette"><font SIZE="3"
        face="Arial">CreatePalette</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::CreateSurface"><font SIZE="3"
        face="Arial">CreateSurface</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>设备特性</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetCaps"><font SIZE="3" face="Arial">GetCaps</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>显示模式</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::EnumDisplayModes"><font SIZE="3"
        face="Arial">EnumDisplayModes</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetDisplayMode"><font SIZE="3"
        face="Arial">GetDisplayMode</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetMonitorFrequency"><font SIZE="3"
        face="Arial">GetMonitorFrequency</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::RestoreDisplayMode"><font SIZE="3"
        face="Arial">RestoreDisplayMode</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::SetDisplayMode"><font SIZE="3"
        face="Arial">SetDisplayMode</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::WaitForVerticalBlank"><font SIZE="3"
        face="Arial">WaitForVerticalBlank</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>显示状态</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetScanLine"><font SIZE="3"
        face="Arial">GetScanLine</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetVerticalBlankStatus"><font
        SIZE="3" face="Arial">GetVerticalBlankStatus</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>杂项</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetAvailableVidMem"><font SIZE="3"
        face="Arial">GetAvailableVidMem</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetFourCCCodes"><font SIZE="3"
        face="Arial">GetFourCCCodes</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>设置控制级</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::SetCooperativeLevel"><font SIZE="3"
        face="Arial">SetCooperativeLevel</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"><font SIZE="3"><b>页面</b></font></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::DuplicateSurface"><font SIZE="3"
        face="Arial">DuplicateSurface</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::EnumSurfaces"><font SIZE="3"
        face="Arial">EnumSurfaces</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::FlipToGDISurface"><font SIZE="3"
        face="Arial">FlipToGDISurface</font></a></td>
      </tr>
      <tr>
        <td WIDTH="168" VALIGN="TOP"></td>
        <td WIDTH="163" VALIGN="TOP"><a href="#IDirectDraw2::GetGDISurface"><font SIZE="3"
        face="Arial">GetGDISurface</font></a></td>
      </tr>
    </table>
    <font SIZE="3"><p>和所有<font face="Arial">COM</font>接口一样,<font face="Arial">IDirectDraw2</font>接口由<font
    face="Arial">IUnknown</font>接口衍生而来。<font face="Arial">IUnknown</font>接口支持以下三种方法:</p>
    <p><font face="Arial">&nbsp;&nbsp;&nbsp; AddRef<br>
    &nbsp;&nbsp;&nbsp; QueryInterface<br>
    &nbsp;&nbsp;&nbsp; Release</font></p>
    <p>你可以使用<font face="Arial">LPDIRECTDRAW</font>或<font face="Arial">LPDIRECTDRAW2</font>数据类型来声明一个指向<font
    face="Arial">IDirectDraw</font>或<font face="Arial">IDirectDraw2</font>接口的变量。在<font
    face="Arial">Ddraw.h</font>头文件中用以下代码声明了这两种数据类型。</p>
    <p><font face="Arial">typedef struct IDirectDraw FAR *LPDIRECTDRAW;<br>
    typedef struct IDirectDraw2 FAR *LPDIRECTDRAW2;</font></p>
    </font><hr>
  </ol>
</ol>

<ol>
  <ol>
    <font SIZE="3" COLOR="#0000ff"><b>
    <li><font face="Arial"><a name="IDirectDraw2::Compact">IDirectDraw2::Compact</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>
    </font><p><font SIZE="3">目前,该函数尚未完成,还不能使用。</font></p>
    <font SIZE="3"><p><font face="Arial">HRESULT Compact();</font></p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回<font face="Arial">DD_OK</font>。</p>
    <p>如果函数调用失败,返回值可能是下列错误值之一:</p>
    <p><font face="Arial">DDERR_INVALIDOBJECT<br>
    DDERR_INVALIDPARAMS<br>
    DDERR_NOEXCLUSIVEMODE<br>
    DDERR_SURFACEBUSY</font></p>
    <b><p>备注:</p>
    </b><p>这个函数将所有位于显卡上的页面内存移动到一块连续的空间,以使剩余的连续内存空间值达到最大。这个函数在执行时,如果被任何其它的操作打断,该函数失败。</p>
    <p>应用程序只有将控制级设为独占模式(<font face="Arial">exclusive</font>),才能调用这个函数。</p>
    <b><p>快速信息:</p>
    </b><p><font face="Arial">Windows NT</font>:适用于<font face="Arial">4.0</font>或更新版<br>
    <font face="Arial">Windows</font>:适用于<font face="Arial">Windows 95</font>或更新版<br>
    <font face="Arial">Windows CE</font>:不支持<br>
    头文件:<font face="Arial">ddraw.h</font><br>
    库文件:<font face="Arial">ddraw.lib</font></p>
    </font><hr>
    <font SIZE="3" COLOR="#0000ff"><b>
    <li><font face="Arial"><a name="IDirectDraw2::CreateClipper">IDirectDraw2::CreateClipper</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>
    </font><p><font SIZE="3">创建一个</font><font face="Arial" SIZE="3">DirectDrawClipper</font><font
    SIZE="3">对象。</font></p>
    <font SIZE="3"><p><font face="Arial">HRESULT CreateClipper(<br>
    DWORD dwFlags,<br>
    LPDIRECTDRAWCLIPPER FAR *lplpDDClipper,<br>
    IUnknown FAR *pUnkOuter<br>
    );</font></p>
    <b><p>参数:</p>
    </b><p><font face="Arial">dwFlags</font><br>
    &nbsp;&nbsp; 这个参数目前没有被使用,必须置为<font face="Arial">0</font>。</p>
    <p><font face="Arial">lplpDDClipper</font><br>
    &nbsp;&nbsp; 如果该函数调用成功,该参数将接收到指向新创建的<font
    face="Arial">DirectDrawClipper</font>对象的指针的地址。 </p>
    <p><font face="Arial">pUnkOuter</font><br>
    &nbsp;&nbsp;&nbsp; 该参数将允许与今后的<font face="Arial">COM</font>集合特性相兼容。目前,只要这个参数不是<font
    face="Arial">NULL</font>,<font face="Arial">IDirectDraw2::CreateSurface</font>返回一个错误。 
    </p>
    <b><p>返回值:</p>
    </b><p>如果函数调用成功,返回<font face="Arial">DD_OK</font>。<br>
    如果函数调用失败,返回值可能是下列错误值之一:</p>
    <p><font face="Arial">DDERR_INVALIDOBJECT <br>
    DDERR_INVALIDPARAMS <br>
    DDERR_NOCOOPERATIVELEVELSET <br>
    DDERR_OUTOFMEMORY </font></p>
    <p><b>备注:</b></p>
    <p><font face="Arial">DirectDrawClipper</font>对象可以被隶属于一个<font

⌨️ 快捷键说明

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