大家来 完善一下 ATL 写 COM 的不成文规范!!!
天限天空 2003-08-19 04:44:08 1.初始化
CUGXxx:: CUUXxx (): m_pIHttpdown (NULL),...
HRESULT CUGXxx::FinalConstruct(){ }
2.销毁
void CUUXxx::FinalRelease()
{
if(m_pIHttpdown)
{
m_pIHttpdown ->Release();
}
}
3.字符串 处理
接口参数使用BSTR ,类或函数变量使用 CComBSTR
4. 进入函数的第一步就应该检测指针是否为空。
STDMETHODIMP CUUXxx::Attach(REFIID riid, void **ppv)
{
ATLASSERT(!IsBadReadPtr(ppv, 4));
ATLASSERT(!IsBadReadPtr(*ppv, 4));
if (IsBadReadPtr(ppv, 4) || IsBadReadPtr(*ppv, 4))
{
return E_POINTER;
}
。。。
}