почему этот код ATL / COM проверяет успешное выделение памяти? Я ожидал, что пользовательское выделение будет видно через CoGetALloc или какой-нибудь другой API. Среда выполнения C ++, соответствующая стандартам, должна выдавать std :: bad_alloc, но опять же, возможно, распределитель действительно был продан на не-бросающий impl.
DDClientData* pNewData = new DDClientData();
if (pNewData==NULL)
return E_OUTOFMEMORY;