Iniciando o Internet Explorer

Depois de criar a DLL do adaptador, você deve iniciar o Internet Explorer de forma que ele saiba que está sendo usado para a API DualEngine, da seguinte maneira.

Argumentos de linha de comando necessários

Os argumentos de linha de comando a seguir devem estar presentes para iniciar o Internet Explorer da maneira correta para usar a API DualEngine.

DualEngineAdapter

-DualEngineAdapter=<full-path-to-adapter-dll>

Indica o caminho para a DLL do adaptador de API DualEngine a ser carregada. Para obter informações sobre como escrever uma DLL de adaptador, consulte Criando uma DLL de plug-in de adaptador DualEngine.

DualEnginePipe

-DualEnginePipe=<pipe-string>

Esse argumento fornece uma cadeia de caracteres que eventualmente é passada para a DLL do adaptador por meio da DualEngineInitialize exportação. Isso pode ser usado para passar um nome de pipe para o código do adaptador para inicializar a comunicação entre o adaptador e o aplicativo principal. Embora DualEnginePipe seja um parâmetro de linha de comando obrigatório, ele só será usado se for passado para o seu código por meio DualEngineInitializede . Portanto, apesar do nome, não precisa ser um nome de pipe; pode ser qualquer cadeia de caracteres arbitrária que você precisar.

APPID

APPID:<your-app-id>

Esse argumento fornece a ID do Modelo de Usuário do Aplicativo do seu aplicativo. Essa ID é usada para associar o processo do Internet Explorer ao seu aplicativo, para vários recursos do Windows Shell. Para obter mais informações, consulte IDs de modelo de usuário do aplicativo.

Argumentos de linha de comando opcionais

O argumento de linha de comando a seguir é opcional, para ajustar o comportamento do Internet Explorer para a API de mecanismo duplo.

DualEngineVersion

-DualEngineVersion=<force_version_number>

Força o Internet Explorer a instanciar objetos DualEngine da versão fornecida, se possível. Isso bloqueará a criação de objetos DualEngine que não correspondam ao número de versão fornecido, mesmo que esta versão do Internet Explorer dê suporte a esta versão.

Diagnosticando problemas de inicialização

Há vários motivos pelos quais o Internet Explorer pode falhar durante a inicialização. Se isso ocorrer antes ou durante o carregamento da DLL, poderá ser difícil determinar o motivo exato e comunicá-lo ao aplicativo. Portanto, se o Internet Explorer não for iniciado ao iniciá-lo para uso no DualEngine, obtenha informações detalhadas sobre o tratamento de erros verificando o valor do StartupFailurePoint registro.

StartupFailurePoint

HKCU\SOFTWARE\Microsoft\Internet Explorer\EdgeIntegration\StartupFailurePoint

Contém um DWORD que indica o local da falha no caminho de inicialização do DualEngine.

O DWORD mapeia para os seguintes motivos:

DWORD Motivo
0 Sem falhas.
1 Não utilizado.
2 Não utilizado.
3 A versão especificada pelo DualEngineVersion argumento foi 0.
4 Falha ao canonizar o caminho passado em via DualEngineAdapter; veja o StartupFailureHresult.
5 Não utilizado.
6 Não utilizado.
7 LoadLibrary falha para a DLL do adaptador fornecida; Consulte o StartupFailureHresult.
8 Não foi possível encontrar DualEngineInitialize na DLL do adaptador.
9 A chamada para DualEngineInitialize falhou. Consulte o StartupFailureHresult.
10 Falha ao definir a ID do Modelo de Usuário do Aplicativo fornecida; Consulte o StartupFailureHresult.
11 Falha na verificação de assinatura da marca DLL.
12 Não utilizado.
13 DLL não tinha o recurso IDENTITY LIMITEDACCESSFEATURE.

StartupFailureHresult

HKCU\Software\Microsoft\Internet Explorer\EdgeIntegration\StartupFailureHresult

Contém um DWORD que é o HRESULT com falha do StartupFailurePoint, se houver um StartupFailureHresult. Para ver se um determinado motivo fornece um StartupFailureHresult, consulte a tabela acima.