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傳回值。
備註
如果使用 CreateRenderTarget 或 CreateOffscreenPlainSurface 或 CreateDepthStencilSurface 建立表面,則表面會被視為獨立。 在此情況下, 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 |