Share via


IDirect3DSurface9::GetContainer 方法 (d3d9helper.h)

如果這個表面是 Cube 紋理或 mipmap 的子層級,則提供 (mipmap) 物件的父 Cube 紋理或紋理存取。 如果介面是後台緩衝區子系,這個方法也可以提供父交換鏈結的存取權。

語法

HRESULT GetContainer(
  [in]  REFIID riid,
  [out] void   **ppContainer
);

參數

[in] riid

類型: REFIID

所要求容器的參考標識碼。

[out] ppContainer

類型: void**

如果查詢成功,要填入容器指標的指標位址。 請參閱<備註>。

傳回值

類型: HRESULT

如果方法成功,傳回值會D3D_OK。 如果方法失敗,則可以D3DERR_INVALIDCALL傳回值。

備註

如果使用 CreateRenderTargetCreateOffscreenPlainSurfaceCreateDepthStencilSurface 建立表面,則表面會被視為獨立。 在此情況下, GetContainer 會傳回用來建立表面的 Direct3D 裝置。

如果呼叫成功,容器的參考計數就會增加一個。

以下是取得 Mip 表面父紋理的範例。


    
// Assumes pSurface is a valid IDirect3DSurface9 pointer
void *pContainer = NULL;
IDirect3DTexture9 *pTexture = NULL;
HRESULT hr = pSurface->GetContainer(IID_IDirect3DTexture9, &pContainer);
if (SUCCEEDED(hr) && pContainer)
{
    pTexture = (IDirect3DTexture9 *)pContainer;
}

規格需求

需求
目標平台 Windows
標頭 d3d9helper.h (包含 D3D9.h)
程式庫 D3D9.lib

另請參閱

IDirect3DSurface9