ATLENSURE
Essa macro é usada para validar parâmetros passados para uma função.
ATLENSURE(booleanExpression);
ATLENSURE_THROW(booleanExpression, hr);
booleanExpression
Especifica uma expressão booliana a ser testado.hr
Especifica um código de erro para retornar.
Essas macros fornecem um mecanismo para detectar e notificar o usuário sobre o uso de parâmetro incorreto.
A macro chama ATLASSERT e se a condição falhar chamadas AtlThrow.
No ATLENSURE caso, AtlThrow é chamado com E_FAIL.
No ATLENSURE_THROW caso, AtlThrow é chamado com o HRESULT especificado.
A diferença entre ATLENSURE and ATLASSERT é o ATLENSURE lança uma exceção em compilações de versão, bem sistema autônomo em compilações de depurar.
void MyImportantFunction(char* psz)
{
ATLENSURE(NULL != psz);
char mysz[64];
strcpy_s(mysz, sizeof(mysz), psz);
}
Cabeçalho: afx.h