Compartir a través de


Tipos de restricciones

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.

Recursos adicionales

Tablas MAPI