Qual é a API para "criar aplicativos como o Flip3D"

Estou tentando descobrir como usar o DWM para renderizar uma cópia de uma janela no meu próprio local desejado. A única coisa que posso encontrar para pedir ao DWM para renderizar em algum lugar é com as APIs de miniaturas.

Mas MSDN'sVisão geral de miniaturas DWM eles me alertam especificamente:

Nota As miniaturas DWM não permitem que os desenvolvedores criem aplicativos como o recurso Windows Vista Flip3D (WINKEY-TAB). As miniaturas são renderizadas diretamente na janela de destino em 2-D.

Disseram-me que a API de miniaturas não pode ser usada para criar aplicativos como o Flip3D, mas eles não dizem qual APIpode ser usado para criar aplicativos como o Windows Flip3D.

Então, qual APIpode ser usado para criar aplicativos como o Windows Vista Flip3D?

fundo

Com o Windows Desktop Composition em execução, os aplicativos desenham suas áreas de cliente da janela em seu próprio buffer privado. (Isso contrasta com as versões anteriores do Windows, onde todos os aplicativos eram desenhados diretamente na tela). Essa imagem da área do cliente é então colocada em um quadro (a barra de título, minimizar, maximizar, restaurar botões etc.) e depois desenhada (ou seja, composta) na área de trabalho - junto com todas as outras janelas abertas:

Como esse buffer é privado, e como as placas gráficas nos últimos anos se tornaram poderosas na execução de tarefas 3D, o Windows pode começar a executar alguns truques. Uma delas é poder manipular a janela do cliente, realizando alterações de escala e perspectiva. Isso permite a api "miniatura" ao vivo - onde o Windows desenha uma cópia em tamanho miniatura de uma janela para a qual você solicita. Como tudo isso está acontecendo no hardware, é muito rápido.

A outra habilidade é o Flip3D (Win + Tab). O compositor pode executar o posicionamento 3d de uma janela. Novamente, porque tudo isso é feito em hardware, é muito rápido.

Eu encontrei a API para dizer ao Desktop Window Monitor para me desenhar uma miniatura de um aplicativo "aqui":

//Register a thumbnail we want
DwmRegisterThumbnail({in}hwndDestination, {in}hwndSource, out thumbnail);

// Start displaying the thumbnail
DwmUpdateThumbnailProperties({in}thumbnail, {in}thumbproperties);

Mas não consigo encontrar a API para dizer ao DWM para me desenhar a versão em tamanho real de uma janela.

Editar: Você não pode culpar a Microsoft pela proteção contra cópia no Windows:

Os Produtos Licenciados que forem enviados devem obedecer às Regras de Conformidade e devem ser projetados e fabricados de maneira claramente projetada parafrustrar tenta modificar esses produtos licenciados para anular os requisitos de proteção de conteúdo da especificação HDCP e das regras de conformidade.

Os Produtos Licenciados devem ser projetados e fabricados de uma maneira claramente destinada a efetivamentefrustrar tenta descobrir ou revelar chaves do dispositivo ou outras informações altamente confidenciais

Os Produtos Licenciados devem usar pelo menos as seguintes técnicas, de maneira claramente projetada para efetivamentefrustrar tenta anular os requisitos de proteção de conteúdo da especificação HDCP e das regras de conformidade

Você tem que culpar a Sony.

questionAnswers(1)

yourAnswerToTheQuestion