Compartir a través de


Método IDirectorySearch::ExecuteSearch (iads.h)

El método IDirectorySearch::ExecuteSearch ejecuta una búsqueda y pasa los resultados al autor de la llamada. Algunos proveedores, como LDAP, aplazarán la ejecución real hasta que el autor de la llamada invoque el método IDirectorySearch::GetFirstRow o el método IDirectorySearch::GetNextRow .

Sintaxis

HRESULT ExecuteSearch(
  [in]  LPWSTR             pszSearchFilter,
  [in]  LPWSTR             *pAttributeNames,
  [in]  DWORD              dwNumberAttributes,
  [out] PADS_SEARCH_HANDLE phSearchResult
);

Parámetros

[in] pszSearchFilter

Cadena de filtro de búsqueda en formato LDAP, como "(objectClass=user)".

[in] pAttributeNames

Matriz de nombres de atributo para los que se solicitan datos. Si es NULL, dwNumberAttributes debe ser 0 o 0xFFFFFFFF.

[in] dwNumberAttributes

Tamaño de la matriz pAttributeNames . El valor especial 0xFFFFFFFF indica que pAttributeNames se omite y puede ser NULL. Este valor especial significa que se solicitan todos los atributos que se establecen. Si este valor es 0, la matriz pAttributeNames puede ser NULL. No se solicitará ningún atributo.

[out] phSearchResult

Dirección de un identificador asignado por métodos al contexto de búsqueda. El autor de la llamada pasa este identificador a otros métodos de IDirectorySearch para examinar el resultado de la búsqueda. Si es NULL, no se puede ejecutar la búsqueda.

Valor devuelto

Este método devuelve los valores devueltos estándar, así como los siguientes:

Para obtener más información y otros valores devueltos, vea Códigos de error adsi.

Comentarios

Cuando el filtro de búsqueda (pszSearchFilter) contiene un atributo de ADS_UTC_TIME tipo, el valor debe tener el formato "yymmddhhmmssZ" donde "y", "m", "d", "h", "m" y "s" se muestran durante año, mes, día, hora, minuto y segundo, respectivamente. En este formato, por ejemplo, "10:20:00 13de mayo de 1999" se convierte en "990513102000Z". La letra final "Z" es la sintaxis necesaria e indica Hora zulu o hora coordinada universal.

El llamador debe llamar a IDirectorySearch::CloseSearchHandle para liberar la memoria asignada para el identificador de búsqueda y el resultado.

Cuando se usa el valor especial de 0xFFFFFFFF para dwNumberAttributes, la recuperación LDAP de ADsPath o distinguishedName no tiene ningún costo de tiempo o recurso adicional.

Ejemplos

En el ejemplo de código de C++ siguiente se muestra cómo 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 compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado iads.h
Archivo DLL Activeds.dll; Adsldp.dll; Adsldpc.dll

Consulte también

Códigos de error adsi

IDirectorySearch

IDirectorySearch::CloseSearchHandle

IDirectorySearch::GetFirstRow

IDirectorySearch::GetNextRow