Método IDirectorySearch::ExecuteSearch (iads.h)
O método IDirectorySearch::ExecuteSearch executa uma pesquisa e passa os resultados para o chamador. Alguns provedores, como o LDAP, adiarão a execução real até que o chamador invoque o método IDirectorySearch::GetFirstRow ou o método IDirectorySearch::GetNextRow .
Sintaxe
HRESULT ExecuteSearch(
[in] LPWSTR pszSearchFilter,
[in] LPWSTR *pAttributeNames,
[in] DWORD dwNumberAttributes,
[out] PADS_SEARCH_HANDLE phSearchResult
);
Parâmetros
[in] pszSearchFilter
Uma cadeia de caracteres de filtro de pesquisa no formato LDAP, como "(objectClass=user)".
[in] pAttributeNames
Uma matriz de nomes de atributo para os quais os dados são solicitados. Se NULL, dwNumberAttributes deverá ser 0 ou 0xFFFFFFFF.
[in] dwNumberAttributes
O tamanho da matriz pAttributeNames . O valor especial 0xFFFFFFFF indica que pAttributeNames é ignorado e pode ser NULL. Esse valor especial significa que todos os atributos definidos são solicitados. Se esse valor for 0, a matriz pAttributeNames poderá ser NULL. Nenhum atributo será solicitado.
[out] phSearchResult
O endereço de um identificador alocado pelo método para o contexto de pesquisa. O chamador passa esse identificador para outros métodos de IDirectorySearch para examinar o resultado da pesquisa. Se FOR NULL, a pesquisa não poderá ser executada.
Valor retornado
Esse método retorna os valores de retorno padrão, bem como os seguintes:
Para obter mais informações e outros valores retornados, consulte Códigos de erro ADSI.
Comentários
Quando o filtro de pesquisa (pszSearchFilter) contém um atributo de tipo ADS_UTC_TIME , ele deve ser do formato "yymmddhhmmssZ" em que "y", "m", "d", "h", "m" e "s" representam o ano, mês, dia, hora, minuto e segundo, respectivamente. Nesse formato, por exemplo, "10:20:00 13de maio de 1999" torna-se "990513102000Z". A letra final "Z" é a sintaxe necessária e indicou o Tempo zulu ou o tempo coordenado universal.
O chamador deve chamar IDirectorySearch::CloseSearchHandle para liberar a memória alocada para o identificador de pesquisa e o resultado.
Ao usar o valor especial de 0xFFFFFFFF para dwNumberAttributes, a recuperação LDAP de ADsPath ou distinguishedName não tem nenhum recurso extra ou custo de tempo.
Exemplos
O exemplo de código C++ a seguir mostra como invocar IDirectorySearch::ExecuteSearch.
LPWSTR pszAttr[] = { L"ADsPath", L"Name", L"samAccountName" };
ADS_SEARCH_HANDLE hSearch;
DWORD dwCount= sizeof(pszAttr)/sizeof(LPWSTR);
// Search for users with a last name that begins with "h".
hr = m_pSearch->ExecuteSearch(L"(&(objectClass=user)(sn=h*))", pszAttr, dwCount, &hSearch );
Requisitos
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | iads.h |
DLL | Activeds.dll; Adsldp.dll; Adsldpc.dll |