Freigeben über


FindFolderType Klasse

Definition

Die FindFolderType -Klasse stellt eine Anforderung zum Suchen von Ordnern in einem Postfach dar.

public ref class FindFolderType : ExchangeWebServices::BaseRequestType
public class FindFolderType : ExchangeWebServices.BaseRequestType
Public Class FindFolderType
Inherits BaseRequestType
Vererbung
FindFolderType

Beispiele

Das folgende Beispiel zeigt eine FindFolder-Abfrage, die die folgenden Ergebnisse zurückgibt:

  1. Eine ausführliche Durchsuchung des Posteingangs.
  2. Alle Eigenschaften, die für die Standardordnerform in einem FindFolder-Vorgang definiert sind.
  3. Alle Ordner mit dem Anzeigenamen SentOnlyToMe. Der Fall muss nicht übereinstimmen.
  4. Ein Bruch-Pagingschema, das höchstens einen einzelnen Ordner zurückgibt, der nach dem ersten Ordner beginnt.
static void FindFolder(ExchangeServiceBinding esb)
{
    // Create the request and specify the traversal type.
    FindFolderType <span class="label">findFolderRequest</span> = new FindFolderType();
<span class="label">findFolderRequest</span>.Traversal = FolderQueryTraversalType.Deep;

    // Define the properties to be returned in the response.
    FolderResponseShapeType responseShape = new FolderResponseShapeType();
    responseShape.BaseShape = DefaultShapeNamesType.Default;
<span class="label">findFolderRequest</span>.FolderShape = responseShape;

    // Identify which folders to search.
    DistinguishedFolderIdType[] folderIDArray = new DistinguishedFolderIdType[1];
    folderIDArray[0] = new DistinguishedFolderIdType();
    folderIDArray[0].Id = DistinguishedFolderIdNameType.inbox;

    // Add the folders to search to the request.
<span class="label">findFolderRequest</span>.ParentFolderIds = folderIDArray;

    // Restriction based on the folder display name.
    RestrictionType restriction = new RestrictionType();
    PathToUnindexedFieldType fldrRestriction = new PathToUnindexedFieldType();
    fldrRestriction.FieldURI = UnindexedFieldURIType.folderDisplayName;
    // Identify the folder name to restrict on.
    ContainsExpressionType contains = new ContainsExpressionType();
    contains.ContainmentMode = ContainmentModeType.Substring;
    contains.ContainmentModeSpecified = true;
    contains.ContainmentComparison = ContainmentComparisonType.IgnoreCase;
    contains.ContainmentComparisonSpecified = true;
    contains.Item = fldrRestriction;
    contains.Constant = new ConstantValueType();
    contains.Constant.Value = "SentOnlyToMe";
    restriction.Item = contains;
<span class="label">findFolderRequest</span>.Restriction = restriction;

    // Define the paging scheme for the result set.
    FractionalPageViewType fpvt = new FractionalPageViewType();
    fpvt.MaxEntriesReturned = 1;
    fpvt.MaxEntriesReturnedSpecified = true;
    fpvt.Numerator = 1;
    fpvt.Denominator = 4;
<span class="label">findFolderRequest</span>.Item = fpvt;

    try
    {
        // Send the request and get the response.
        FindFolderResponseType findFolderResponse = esb.FindFolder(<span class="label">findFolderRequest</span>);

        // Get the response messages.
        ResponseMessageType[] rmta = findFolderResponse.ResponseMessages.Items;

        foreach (ResponseMessageType rmt in rmta)
        {
            FindFolderResponseMessageType ffrmt = (rmt as FindFolderResponseMessageType);

            FindFolderParentType ffpt = ffrmt.RootFolder;
            BaseFolderType[] folders = ffpt.Folders;

            foreach (BaseFolderType folder in folders)
            {
                // Check folder type
                if (folder is CalendarFolderType)
                {
                    CalendarFolderType fldr = (folder as CalendarFolderType);
                    // TODO: Handle calendar folder
                }
                else 
                { 
                    // TODO: Handle folders, search folders, tasks folders,
                    // and contacts folder
                }
            }
        }
    }
    catch (Exception e)
    {
        Console.WriteLine(e.Message);
    }
}

Hinweise

Der FindFolder-Vorgang sucht Unterordner eines identifizierten Ordners. Der FindFolder-Vorgang gibt nur die ersten 512 Bytes einer streamfähigen Eigenschaft zurück. Bei Unicode gibt der FindFolder-Vorgang die ersten 255 Zeichen mithilfe einer mit NULL endenden Unicode-Zeichenfolge zurück. Verwenden Sie den Vorgang GetFolder, um zusätzliche Ordnereigenschaften abzurufen.

Einschränkungen für Ordnereigenschaften, aber keine Elementeigenschaften sind zulässig. Die Sortierfunktion ist für FindFolder-Antworten nicht verfügbar. Gruppierte Abfragen sind für FindFolder-Abfragen nicht verfügbar.

Konstruktoren

FindFolderType()

Der FindFolderType Konstruktor initialisiert eine neue Instanz der FindFolderType -Klasse.

Eigenschaften

FolderShape

Die FolderShape -Eigenschaft ruft die Form des Abfragesatzes ab oder legt sie fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

Item

Die Item -Eigenschaft ruft den Auslagerungstyp ab, der beschreibt, wie das Abfrageresultset in der Antwort ausgelagert wird, oder legt diesen fest. Diese Eigenschaft ruft entweder ein - oder - IndexedPageViewType Objekt ab oder FractionalPageViewType legt es fest. Diese Eigenschaft ist optional. Dies ist eine Lese-/Schreibeigenschaft.

ParentFolderIds

Die ParentFolderIds -Eigenschaft ruft die Ordner ab, die der FindFolder-Vorgang durchsucht, oder legt sie fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

Restriction

Die Restriction -Eigenschaft ruft die Suchparameter ab, die eine Ordnerabfrage definieren, oder legt diese fest. Diese Eigenschaft ist optional. Dies ist eine Lese-/Schreibeigenschaft.

Traversal

Die Traversal -Eigenschaft ruft das Durchlaufschema ab, das zum Suchen nach Ordnern verwendet wird, oder legt dieses fest. Diese Eigenschaft ist erforderlich. Dies ist eine Lese-/Schreibeigenschaft.

Gilt für: