Dela via


Hämtning av attributintervall

Ett flervärdesattribut kan ha nästan valfritt antal värden. I många fall kan det vara fördelaktigt, eller till och med nödvändigt, att begränsa det värdeintervall som hämtas av en fråga.

Intervallhämtning innebär att begära ett begränsat antal attributvärden i en enda fråga. Antalet begärda värden måste vara mindre än, eller lika med, det maximala antalet värden som stöds av servern. För att minska antalet gånger som frågan måste kontakta servern bör antalet begärda värden vara så nära detta maximala som möjligt. Om du vill att ett program ska fungera korrekt med alla Windows-servrar ska ett maximalt antal 1 000 användas.

Intervallspecificerarna för en egenskapsfråga kräver följande formulär:

range=<low range>-<high range>

där "<låg intervall>" är det nollbaserade indexet för det första egenskapsvärdet som ska hämtas och "<>" är det nollbaserade indexet för det senaste egenskapsvärdet som ska hämtas. Noll används för "<låg räckvidd>" för att ange den första posten. Jokertecknet (*) kan användas för "<hög intervall>" för att ange alla återstående poster.

I följande tabell visas exempel på intervallspecificerare.

Exempel Beskrivning
range=0-* Hämta alla egenskapsvärden. Detta omfattas av begränsningar som tillämpas av servern.
range=0-500 Hämta från 1:a till 501:a värden inklusive.
range=2-3 Hämta värdena 3:e och 4:e.
range=501-* Hämta 502:a och alla återstående värden. Detta omfattas av begränsningar som tillämpas av servern.

 

Det finns flera olika sätt att hämta ett intervall med egenskapsvärden. Metoden IADs.GetInfoEx kan användas på antingen ett automationsspråk eller C++. Metoden IADs.GetInfoEx är den bästa metoden för att utföra intervallhämtning. Mer information om hur du använder IADs.GetInfoEx för intervallhämtning finns i Using IADs::GetInfoEx for Range Retrieval.

Om ett automationsspråk används kan ActiveX Directory-objekt (ADO) användas för att hämta ett intervall med egenskapsvärden. Mer information om hur du använder ADO för intervallhämtning finns i Using ADO for Range Retrieval.

Om C++ används kan gränssnitten IDirectorySearch och IDirectoryObject användas för att hämta ett intervall med egenskapsvärden. Mer information om hur du använder IDirectorySearch och IDirectoryObject för intervallhämtning finns i Using IDirectorySearch and IDirectoryObject for Range Retrieval. Den här typen av hämtning bör göras på frågor med en omfångstyp av base (ADS_SCOPE_BASE).