Compartilhar via


FindFolderType Classe

Definição

A FindFolderType classe representa uma solicitação para localizar pastas em uma caixa de correio.

public ref class FindFolderType : ExchangeWebServices::BaseRequestType
public class FindFolderType : ExchangeWebServices.BaseRequestType
Public Class FindFolderType
Inherits BaseRequestType
Herança
FindFolderType

Exemplos

O exemplo a seguir mostra uma consulta FindFolder que retorna os seguintes resultados:

  1. Uma pesquisa de travessia profunda da caixa de entrada.
  2. Todas as propriedades definidas para o FolderShape padrão em uma operação FindFolder.
  3. Todas as pastas que têm um nome de exibição de SentOnlyToMe. O caso não precisa corresponder.
  4. Um esquema de paginação fracionária que retorna no máximo uma única pasta que começa após a primeira pasta.
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);
    }
}

Comentários

A operação FindFolder localiza subpastas de uma pasta identificada. A operação FindFolder retorna apenas os primeiros 512 bytes de qualquer propriedade streamable. Para Unicode, a operação FindFolder retorna os primeiros 255 caracteres usando uma cadeia de caracteres Unicode terminada em nulo. Use a operação GetFolder para obter propriedades de pasta adicionais.

Restrições nas propriedades da pasta, mas não nas propriedades do item, são permitidas. A funcionalidade de classificação não está disponível para respostas do FindFolder. As consultas agrupadas não estão disponíveis para consultas FindFolder.

Construtores

FindFolderType()

O FindFolderType construtor inicializa uma nova instância da FindFolderType classe.

Propriedades

FolderShape

A FolderShape propriedade obtém ou define a forma do conjunto de consultas. Esta propriedade é obrigatória. Esta é uma propriedade de leitura/gravação.

Item

A Item propriedade obtém ou define o tipo de paginação que descreve como o conjunto de resultados da consulta é paged na resposta. Essa propriedade obtém ou define um IndexedPageViewType objeto ou FractionalPageViewType . Essa propriedade é opcional. Esta é uma propriedade de leitura/gravação.

ParentFolderIds

A ParentFolderIds propriedade obtém ou define as pastas que a operação FindFolder pesquisa. Esta propriedade é obrigatória. Esta é uma propriedade de leitura/gravação.

Restriction

A Restriction propriedade obtém ou define os parâmetros de pesquisa que definem uma consulta de pasta. Essa propriedade é opcional. Esta é uma propriedade de leitura/gravação.

Traversal

A Traversal propriedade obtém ou define o esquema de travessia usado para pesquisar pastas. Esta propriedade é obrigatória. Esta é uma propriedade de leitura/gravação.

Aplica-se a