DXGetErrorString新手问题

时间:2009-03-24 21:40:54

标签: c++ directx

我是C ++和Direct X的新手,我想知道DXGetErrorString和DXGetErrorDescription的正确使用是什么?

根据http://msdn.microsoft.com/en-us/library/bb173057(VS.85).aspxhttp://msdn.microsoft.com/en-us/library/bb173056(VS.85).aspx,这些函数返回指向字符串的指针。但是,在我在网上看到的所有例子中,他们直接使用返回值而不会在之后释放它。

例如:

char buf[2048];
sprintf(buf, "Error: %s error description: %s\n",DXGetErrorString(hr),DXGetErrorDescription(hr));

这是否意味着存在内存泄漏,因为为错误字符串分配的内存和错误描述永远不会被释放?如果没有,它是如何发布的?

感谢您的帮助!

1 个答案:

答案 0 :(得分:3)

最有可能的是,函数返回一个静态字符串,因此不需要自由。

这类似于编写这样的代码,你不必担心释放返回值:

PCWSTR GetErrorCode(int error)
{
    switch (error)
    {
        case 1:
          return L"File not found";
        ...
        default:
          return "Unknown error";
    }
}