Compartir a través de


Usar el método SetSearchPreference

Al llamar al método IDirectorySearch::SetSearchPreference , se cambia la forma en que se obtienen los resultados de la búsqueda y se presentan a través de la interfaz IDirectorySearch .

La documentación del SDK define SetSearchPreference de la siguiente manera:

HRESULT SetSearchPreference(
            //Search preferences to be set.
            PADS_SEARCHPREF_INFO pSearchPrefs,
            //Number of preferences.
            DWORD dwNumPrefs
            );

Se pueden establecer varias preferencias pasando una matriz como primer parámetro y el tamaño de la matriz como segundo parámetro.

ADS_SEARCHPREF_INFO arSearchPrefs[2];
 
arSearchPrefs[0].dwSearchPref = ADS_SEARCHPREF_PAGESIZE; 
arSearchPrefs[0].vValue.dwType = ADSTYPE_INTEGER;
arSearchPrefs[0].vValue.Integer = 100;
 
arSearchPrefs[1].dwSearchPref = ADS_SEARCHPREF_SEARCH_SCOPE; 
arSearchPrefs[1].vValue.dwType = ADSTYPE_INTEGER; 
arSearchPrefs[1].vValue.Integer = ADS_SCOPE_SUBTREE; 
 
hr = pDSearch->SetSearchPreference(&arSearchPrefs, 2);

En este ejemplo se establece el tamaño de página en 100 filas y el ámbito en el tipo ADS_SCOPE_SUBTREE. La configuración de tamaño de página hace que el servidor devuelva inmediatamente los datos al cliente, después de haber calculado 100 filas. La configuración de ADS_SCOPE_SUBTREE hace que la búsqueda abarque todas las ramas del árbol debajo del punto desde el que se ejecuta la búsqueda.