一.简介
当一个函数里面的参数涉及到 Rlease() 或者 Free() 的时候,涉及到内存的操作,就要加返回值检验
二.检验函数返回值
HRESULT hr = 0;
hr = Device->CreateVertexShader(...); if(FAILED(hr)) { ::MessageBox(0, "CreateVertexShader-FAILED", 0, 0); return false; }
三.检验错误缓存区
ID3DXBuffer* errorBuffer = 0; hr = D3DXCompileShaderFromFile(...&errorBuffer...); if (errorBuffer)
{
::MessageBox(0, (char*)errorBuffer->GetBufferPoint(), 0, 0);
d3d::Release<ID3DXBuffer*>(errorBuffer);
}