共用方式為


IDirectDraw7::EnumSurfaces 方法 (ddraw.h)

列舉符合指定介面描述的所有現有或可能表面。

語法

HRESULT EnumSurfaces(
  [in] DWORD                     unnamedParam1,
  [in] LPDDSURFACEDESC2          unnamedParam2,
  [in] LPVOID                    unnamedParam3,
  [in] LPDDENUMSURFACESCALLBACK7 unnamedParam4
);

參數

[in] unnamedParam1

一個搜尋類型旗標和一個相符旗標的組合。 搜尋類型旗標會決定方法如何搜尋相符表面;您可以在 lpDDSD2 參數中使用描述來搜尋可建立的介面,或搜尋已經符合該描述的現有表面。 比對旗標會決定方法會列舉所有介面、只列舉相符的介面,還是只列舉不符合 lpDDSD2 參數中描述的介面。

搜尋類型旗標

DDENUMSURFACES_CANBECREATED

列舉可建立並符合搜尋準則的第一個表面。 此旗標只能與 DDENUMSURFACES_MATCH 旗標搭配使用。

DDENUMSURFACES_DOESEXIST

列舉符合搜尋準則的現有表面。

比對旗標

DDENUMSURFACES_ALL

列舉符合搜尋準則的所有表面。 此旗標只能與DDENUMSURFACES_DOESEXIST搜尋類型旗標搭配使用。

DDENUMSURFACES_MATCH

搜尋符合表面描述的任何表面。

DDENUMSURFACES_NOMATCH

搜尋不符合表面描述的任何表面。

[in] unnamedParam2

定義感興趣表面之 DDSURFACEDESC2 結構的位址。 如果 dwFlags 包含 DDENUMSURFACES_ALL 旗標,此參數可以是 NULL。

[in] unnamedParam3

要傳遞至每個列舉成員的應用程式定義結構位址。

[in] unnamedParam4

列舉過程每次找到相符專案時呼叫的 EnumSurfacesCallback7 函式位址。

傳回值

如果方法成功,傳回值會DD_OK。

如果失敗,方法可以傳回下列其中一個錯誤值:

  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS

備註

如果已設定DDENUMSURFACES_CANBECREATED旗標,這個方法會嘗試暫時建立符合搜尋準則的介面。

當您使用DDENUMSURFACES_DOESEXIST旗標時,列舉表面的參考計數會遞增—如果您不打算使用介面,請務必使用 IDirectDrawSurface7::Release 在每次列舉之後釋放它。 如果您要使用介面,請不再需要它時加以釋放。

這個方法與先前介面版本中的對應專案不同,因為它接受 EnumSurfacesCallback7 函式的指標,而不是 EnumSurfacesCallbackEnumSurfacesCallback2 函式。

規格需求

需求
目標平台 Windows
標頭 ddraw.h
程式庫 Ddraw.lib
Dll Ddraw.dll

另請參閱

IDirectDraw7