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 |