Nota
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
Hace referencia a: Outlook 2013 | Outlook 2016
Hay muchos tipos de restricciones, algunos que se centran en columnas específicas. Se espera que todas las implementaciones de tabla admitan restricciones en las columnas del conjunto de columnas actual. Sin embargo, para agregar valor, los implementadores de tablas también pueden admitir restricciones basadas en propiedades de objeto que no están actualmente en la vista de tabla.
Algunas restricciones se pueden combinar mediante una restricción que realiza una operación AND, OR o NOT lógica. Por ejemplo, la mayoría de las restricciones de propiedad deben combinarse con restricciones existentes mediante restricciones AND . Hay algunas excepciones, como cuando la propiedad usada en la restricción de propiedad es la propiedad PR_ANR (PidTagAnr) o cuando es una columna necesaria en una tabla. Las restricciones de creación de cliente para limitar su vista deben usar restricciones de existencia con sus restricciones de propiedad porque MAPI no especifica cómo deben evaluar los proveedores de servicios las restricciones de propiedad cuando no existe una propiedad. Es razonable y recomendable que los proveedores de servicios no cumplan la restricción, pero no hay requisitos.
Una restricción se define mediante la estructura de datos SRestriction que contiene una unión de estructuras de restricción más especializadas y un indicador del tipo de estructura incluida en la unión.
Cada una de las estructuras de restricción especializadas de la unión representa un tipo de restricción diferente. Los tipos de restricciones y sus estructuras de datos asociadas son:
Tipo de restricción | Estructura de datos asociada | Descripción |
---|---|---|
Compare (propiedad) | SComparePropsRestriction | Compara dos propiedades del mismo tipo. |
AND | SAndRestriction | Realiza una operación AND lógica en dos o más restricciones. |
O | SOrRestriction | Realiza una operación OR lógica en dos o más restricciones. |
NOT | SNotRestriction | Realiza una operación NOT lógica en dos o más restricciones. |
Contenido | SContentRestriction | Busca los datos especificados. |
Propiedad | SPropertyRestriction | Especifica un valor de propiedad determinado como criterios para la coincidencia. Se puede usar, por ejemplo, para buscar un tipo determinado de datos adjuntos. |
Bitmask | SBitMaskRestriction | Aplica una máscara de bits a una propiedad PT_LONG, normalmente para determinar si se establecen marcas concretas. |
Size | SSizeRestriction | Prueba el tamaño de una propiedad mediante operadores relacionales estándar. |
Existir | SExistRestriction | Comprueba si un objeto tiene un valor para una propiedad. |
Subobjeto | SSubRestriction | Se usa para buscar a través de subobjetos u objetos a los que no se puede acceder con un identificador de entrada, como destinatarios y datos adjuntos. Se puede usar, por ejemplo, para buscar mensajes para un destinatario determinado. |
Comentario | SCommentRestriction | Asocia un objeto a un conjunto de propiedades con nombre. |
Count | SCountRestriction | Se usa para limitar los resultados devueltos por la evaluación de otra restricción. |
Algunas restricciones usan expresiones regulares y MAPI admite una forma limitada de notación de expresiones regulares en el estilo que se usa en muchas aplicaciones de texto.
Los clientes que guardan restricciones en el disco usan la restricción de comentario para mantener la información específica de la aplicación con la restricción. Por ejemplo, un cliente que guarda el nombre de una propiedad con nombre usada en una restricción de propiedad puede hacerlo con una restricción de comentario. No es posible guardar el nombre en una restricción de propiedad; la estructura de datos SPropertyRestriction solo contiene la etiqueta de propiedad. IMAPITable::Restrict omite las restricciones de comentarios en que no tienen ningún efecto en las filas devueltas por IMAPITable::QueryRows después de realizar una llamada Restrict.