Executando snap-ins de 32 e 64 bits no Win64

Os sistemas operacionais de 64 bits da Microsoft podem executar o MMC de 32 bits (MMC32) e o MMC de 64 bits (MMC64). O MMC64 não pode executar snap-ins de 32 bits e o MMC32 não pode executar snap-ins de 64 bits. Este tópico descreve como determinar e controlar qual versão do MMC será executada em um sistema operacional de 64 bits da Microsoft.

O MMC pode ser executado com os parâmetros de linha de comando, como um nome de arquivo de console, por exemplo. Além disso, as opções de linha de comando a seguir são reconhecidas pelo MMC64.

Se as duas opções mencionadas anteriormente forem especificadas na linha de comando, a opção da extrema direita estará em vigor.

Considerações de inicialização se a opção de linha de comando /32 ou /64 estiver em vigor.

Se o MMC64 for iniciado sem parâmetros de linha de comando ou se o ele for iniciado com a opção de linha de comando /64, ele será executado como o aplicativo MMC64. Se o MMC64 for iniciado com a opção de linha de comando /32, o MMC32 será inicializado, através dos mesmos parâmetros passados inicialmente para o MMC64 (exceto a opção de linha de comando /32), e o MMC64 será encerrado.

Considerações de inicialização se um arquivo de console for especificado.

Se a linha de comando do MMC64 não contiver uma opção de linha de comando /32 ou /64, mas a linha de comando contiver um nome de arquivo de console, o MMC64 examinará o arquivo de console antes de determinar qual versão do MMC permanecerá em execução. O MMC65 utiliza o algoritmo a seguir.

  1. Se todos os snap-ins referenciados pelo arquivo de console estiverem no formato de 64 bits, o MMC64 permanecerá como a versão em execução (as etapas de algoritmo restantes não serão executadas). Um snap-in é considerado disponível no formato de 64 bits se existir como uma chave HKEY_CLASSES_ROOT\CLSID\snap-in clsid\InprocServer32 no Registro, onde snap-in clsid é a CLSID registrada do snap-in.
  2. Se todos os snap-ins referenciados pelo arquivo de console estiverem disponíveis no formato de 64 bits, mas todos eles estiverem disponíveis no formato de 32 bits, o MMC64 iniciará o MMC32. O MMC32 é executado usando o arquivo de console conforme especificado na linha de comando e o MMC64 é encerrado (as etapas de algoritmo restantes não são executadas). Um snap-in é considerado disponível no formato de 32 bits se existir como uma chave HKEY_CLASSES_ROOT\Wow6432Node\CLSID\snap-in clsid\InprocServer32 no Registro, onde snap-in clsid é a CLSID registrada do snap-in.
  3. Se o número de snap-ins de 64 bits não disponíveis for um subconjunto dos snap-ins de 32 bits também não disponíveis, o MMC64 permanecerá como a versão em execução (as etapas de algoritmo restantes não serão executadas).
  4. Se o número de snap-ins de 34 bits não disponíveis for um subconjunto dos snap-ins de 64 bits não disponíveis, o MMC64 iniciará o MMC32 e o MMC64 será fechado (as etapas de algoritmo restantes não serão executadas).
  5. Se nenhuma das etapas anteriores gerar uma conclusão, uma interface de usuário será apresentada ao usuário, solicitando que ele especifique a versão do MMC que será executada (uma opção de cancelamento também será apresentada ao usuário).

Caso o MMC64 não consiga iniciar o MMC32, o MMC64 continuará em execução. Depois que o MMC32 for iniciado com êxito pelo MMC64, este último será fechado. Se ocorrer algum erro depois que o MMC32 for iniciado, o MMC64 não será notificado, pois ele já estará fechado.