FindFolderType Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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
Beispiele
Das folgende Beispiel zeigt eine FindFolder-Abfrage, die die folgenden Ergebnisse zurückgibt:
- Eine ausführliche Durchsuchung des Posteingangs.
- Alle Eigenschaften, die für die Standardordnerform in einem FindFolder-Vorgang definiert sind.
- Alle Ordner mit dem Anzeigenamen SentOnlyToMe. Der Fall muss nicht übereinstimmen.
- 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. |