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);
}
原文地址:https://www.cnblogs.com/k5bg/p/11102836.html