Compartilhar via


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

Confira também

Códigos de erro ADSI

Idirectorysearch

IDirectorySearch::CloseSearchHandle

IDirectorySearch::GetFirstRow

IDirectorySearch::GetNextRow