Códigos de erro Win32 para ADSI
Códigos de erro Win32 padrão também são usados para retornar mensagens de erro ADSI. Especificamente, o provedor LDAP ADSI mapeia todos os códigos de erro LDAP para códigos de erro Win32. Os valores HRESULT desses códigos de erro são do formato 0x8007XXXX, onde os últimos quatro dígitos hexadecimais, XXXX, corresponde aos valores DWORD do código de erro Win32 apropriado. Por exemplo, o valor de erro ADSI 0x80072020 fornece o valor de erro Win32 de 0x2020 em hexadecimal ou 8224 em decimal.
Para converter o valor HRESULT de um código de erro ADSI, retornado pelo seu aplicativo, para o valor DWORD de erro Win32 correspondente, conforme definido nos arquivos de cabeçalho acima, use o procedimento a seguir.
A maioria dos códigos de erro Win32 para ADSI são definidos em Winerror.h ou Lmerr.h. Os valores de erro são listados como valores decimais nesses arquivos.
Para converter o valor HRESULT de um código de erro ADSI para o correspondente o valor DWORD de erro Win32
- Converta o valor HRESULT em um número hexadecimal se começar com um valor decimal como você pode obter de um aplicativo Visual Basic.
- Solte a parte 0x8007 produza o restante.
- Converta o restante em um número decimal.
- Procure o restante decimal em Winerror.h.
- Se não for encontrado em Winerror.h, subtraia 2100 do restante decimal e procure o resultado em Lmerr.h.
ADSI 2.0 mapeia os códigos de erro LDAP para um conjunto de códigos de erro Win32 que é diferente do usado no ADSI para Windows 2000 e DS Client. As diferenças estão listadas em: