Pergunta

Estou usando o VMware Workstation 6.5 no Windows Vista x64. Gostaria de automatizar algumas das tarefas de gerenciamento de VM. Eu sei que há uma API COM ( http://www.vmware.com/support / / vix-api desenvolvedor / ) disponíveis que eu poderia usar diretamente.

Existe um C # wrapper para este API COM?

Obrigado,

Arnie

Foi útil?

Solução

ArnieZ.

Qualquer COM DLL pode ser usado a partir de .NET. Somando-se como referência no visual studio irá gerar uma DLL chamado

"YourDll.Interop.dll"

Esta é uma .NET -.> COM empacotamento biblioteca e vai fazer o que você precisa

Você também pode gerar este a partir da linha de comando usando tlbimp.exe

Claro, você terá que manter em mente que você está invocando componentes COM, e lembre-se de usar a API .NET Empacotamento para diminuir a contagem de referência quando terminar de usá-los, caso contrário, você vai causar vazamentos de memória.

Eu envolveu a implementação de interoperabilidade em outra biblioteca que implementa IDisposable sobre seus objetos, de modo que a limpeza é feita automaticamente antes, mas se é uma grande biblioteca, isso pode não valer a pena o esforço.

Outras dicas

Há agora uma biblioteca agradável que envolve esse up: http://www.codeproject.com/KB/library/VMWareTasks.aspx

VMWareTasks é um invólucro completo para VixCOM: http://vmwaretasks.codeplex.com

Que tal adicionar uma referência a esta API em sua VS.Net e deixe VS.Net criar um wrapper gerenciado para você? Eu não estou ciente de qualquer API "administrado" para isso. Deixe-me saber se você encontrá-lo:)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top