Compartir a través de


FindFolderType Clase

Definición

La FindFolderType clase representa una solicitud para buscar carpetas en un buzón de correo.

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

Ejemplos

En el ejemplo siguiente se muestra una consulta FindFolder que devuelve los resultados siguientes:

  1. Búsqueda de recorrido profundo de la Bandeja de entrada.
  2. Todas las propiedades definidas para default FolderShape en una operación FindFolder.
  3. Todas las carpetas que tienen un nombre para mostrar de SentOnlyToMe. El caso no tiene que coincidir.
  4. Esquema de paginación fraccionaria que devuelve como máximo una sola carpeta que comienza después de la primera carpeta.
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);
    }
}

Comentarios

La operación FindFolder busca subcarpetas de una carpeta identificada. La operación FindFolder devuelve solo los primeros 512 bytes de cualquier propiedad que se pueda transmitir. Para Unicode, la operación FindFolder devuelve los primeros 255 caracteres mediante una cadena Unicode terminada en NULL. Use la operación GetFolder para obtener propiedades de carpeta adicionales.

Se permiten restricciones en las propiedades de carpeta, pero no en las propiedades de elementos. La funcionalidad de ordenación no está disponible para las respuestas FindFolder. Las consultas agrupadas no están disponibles para las consultas FindFolder.

Constructores

FindFolderType()

El FindFolderType constructor inicializa una nueva instancia de la FindFolderType clase .

Propiedades

FolderShape

La FolderShape propiedad obtiene o establece la forma del conjunto de consultas. La propiedad es obligatoria. Se trata de una propiedad de lectura y escritura.

Item

La Item propiedad obtiene o establece el tipo de paginación que describe cómo se pagina el conjunto de resultados de la consulta en la respuesta. Esta propiedad obtiene o establece un IndexedPageViewType objeto o FractionalPageViewType . Esta propiedad es opcional. Se trata de una propiedad de lectura y escritura.

ParentFolderIds

La ParentFolderIds propiedad obtiene o establece las carpetas que busca la operación FindFolder. La propiedad es obligatoria. Se trata de una propiedad de lectura y escritura.

Restriction

La Restriction propiedad obtiene o establece los parámetros de búsqueda que definen una consulta de carpeta. Esta propiedad es opcional. Se trata de una propiedad de lectura y escritura.

Traversal

La Traversal propiedad obtiene o establece el esquema de recorrido que se usa para buscar carpetas. La propiedad es obligatoria. Se trata de una propiedad de lectura y escritura.

Se aplica a