Agregação de COM gerenciada

É meu entendimento construir um objeto COM agregando um objeto COM existente implica implementar a lógica de redirecionamento no método IUnknown.QueryInterface do objeto externo.

A pergunta que tenho é como fazer isso se o objeto que você está construindo for gerenciado. Em objetos gerenciados, o IUnknown não é explicitamente implementado. O COM Interop faz isso para você. Então, como eu digo ao COM Interop que o objeto que eu construo é uma agregação de outro objeto COM?

Até agora, a única maneira que encontrei foi implementar todas as interfaces do objeto interno no exterior e explicitamente redirecioná-las. Isto é a) feio e b) assume que você conhece todas as interfaces para implementar, o que não é o caso na minha situação.

Alguma ideia?