Iniciando Explorer da Internet
Depois de criar a DLL do adaptador, você deve iniciar o Internet Explorer de modo que ele esteja ciente de que ele 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 Explorer da Internet 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 do adaptador, consulte Criando uma DLL de plug-in do adaptador DualEngine.
DualEnginePipe
-DualEnginePipe=<pipe-string>
Esse argumento fornece uma cadeia de caracteres que eventualmente é passada para a DLL do adaptador por meio da exportação DualEngineInitialize
. 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 main aplicativo. Embora seja DualEnginePipe
um parâmetro de linha de comando necessário, ele só será usado se ele for passado para o código por meio DualEngineInitialize
de . Portanto, apesar de seu nome, isso 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. Essa ID é usada para associar o processo de Explorer da Internet ao seu aplicativo para vários recursos do Windows Shell. Para obter mais informações, consulte IDs do modelo de usuário do aplicativo.
Argumentos opcionais de linha de comando
O argumento de linha de comando a seguir é opcional, para ajustar o comportamento do Explorer da Internet para a API do Mecanismo Duplo.
DualEngineVersion
-DualEngineVersion=<force_version_number>
Força a Internet Explorer a instanciar objetos DualEngine da versão fornecida, se puder. Isso bloqueará a criação de objetos DualEngine que não correspondem ao número de versão fornecido, mesmo que essa versão do Explorer da Internet dê suporte a essa versão.
Diagnosticar problemas de inicialização
Há uma série de razões pelas quais os Explorer da Internet podem falhar ao iniciar. Se isso ocorrer antes ou durante o carregamento da DLL, pode ser difícil determinar o motivo exato e comunicá-lo de volta ao seu aplicativo. Portanto, se a Internet Explorer falhar ao iniciá-la para uso do DualEngine, obtenha informações detalhadas de 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 falha. |
1 | Utilizadas. |
2 | Utilizadas. |
3 | A versão especificada pelo DualEngineVersion argumento era 0. |
4 | Falha ao canonizar o caminho passado por meio DualEngineAdapter do ; confira o StartupFailureHresult . |
5 | Utilizadas. |
6 | Utilizadas. |
7 |
LoadLibrary falha na DLL do adaptador fornecido; consulte o StartupFailureHresult . |
8 | Não foi possível encontrar DualEngineInitialize na DLL do adaptador. |
9 | A chamada para DualEngineInitialize falha; veja o StartupFailureHresult . |
10 | Falha ao definir a ID do modelo de usuário do aplicativo fornecida; consulte o StartupFailureHresult . |
11 | Falha no marcar de assinatura da DLL. |
12 | Utilizadas. |
13 | A 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.