DirectX9:总结篇 异常错误检测

一.简介

当一个函数里面的参数涉及到 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);
}

 

posted @ 2019-06-28 15:18  言午丶  阅读(437)  评论(0编辑  收藏  举报