Как лучше всего использовать интеллектуальные указатели CComPtr или _com_ptr в качестве аргументов для ввода-вывода?
void FunctionPrototype(Test** test) {
// you can use here test or create a new Test here and assign to test
}
CComPtr<Test> test;
test.CoCreateInstance(..., ..., ...);
test->SetValue(10);
FunctionPrototype(&test); // assertion since test.p is not NULL