When
STRICT_EXPECTED_CALL(function(args...))
.CopyOutArgument_gaga(&source, sizeof(source));
is used AND function has a hook registered the hook WILL get called. This should not happen, and CopyOutArgument should behave like .SetReturn() and not invoke the hooked function.