DirectX Graphics 레퍼런스 Direct3D C/C++ 레퍼런스 인터페이스 IDirect3DSurface9 GetContainer [목차열람] [주소복사] [슬롯비우기] |
Microsoft DirectX 9.0 |
이 표면이 큐브 텍스처 또는 밉맵의 아이 레벨인 경우, 부모의 큐브 텍스처 또는 텍스처 (밉맵) 개체에의 액세스를 제공한다. 또, 표면이 백 버퍼의 아이의 경우는, 친스왑 체인에의 액세스도 제공한다.
구문
HRESULT GetContainer(
REFIID riid, void **ppContainer );
파라미터
- riid
- [in] 요구하는 컨테이너의 참조 식별자.
- ppContainer
- [out] 문의가 성공했을 경우에 컨테이너 포인터가 저장 되는 포인터의 주소. 「주의」를 참조할것.
반환값
성공했을 경우는,D3D_OK 를 돌려준다.
실패했을 경우는,D3DERR_INVALIDCALL 를 돌려준다.
주의
표면이 IDirect3DDevice9::CreateRenderTarget ,IDirect3DDevice9::CreateOffscreenPlainSurface , 또는 IDirect3DDevice9::CreateDepthStencilSurface 를 사용해 생성 되고 있는 경우, 표면은 스탠드얼론이다고 보여진다. 이 경우,IDirect3DSurface9::GetContainer 는, 표면의 생성에 사용한 Microsoft® Direct3D® 장치를 돌려준다.
호출이 성공했을 경우, 컨테이너의 참조 카운트가 1 개 증가한다.
밉표면의 친텍스처를 얻어온다예를 다음에 나타낸다.
// 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; }