Claves de registro y búsqueda MAPI
Hace referencia a: Outlook 2013 | Outlook 2016
Las claves de registro y las claves de búsqueda son identificadores binarios que se asignan a muchos objetos MAPI. A diferencia del identificador de entrada de un objeto, su registro o clave de búsqueda es directamente comparable, así como transmitible.
Claves de registro
Se usa una clave de registro para comparar dos objetos. Los objetos de almacén de mensajes y libreta de direcciones deben tener claves de registro, que se almacenan en su propiedad PR_RECORD_KEY (PidTagRecordKey). Dado que una clave de registro identifica un objeto y no sus datos, cada instancia de un objeto tiene una clave de registro única. El ámbito de una clave de registro para carpetas y mensajes es el almacén de mensajes. El ámbito de los contenedores de libreta de direcciones, los usuarios de mensajería y las listas de distribución es el conjunto de contenedores de nivel superior proporcionado por MAPI para su uso en la libreta de direcciones integrada.
Las claves de registro se pueden duplicar en otro recurso. Por ejemplo, los mensajes diferentes en dos almacenes de mensajes diferentes pueden tener la misma clave de registro. Esto es diferente de los identificadores de entrada a largo plazo; dado que los identificadores de entrada a largo plazo contienen una referencia al proveedor de servicios, tienen un ámbito más amplio. La clave de registro de un almacén de mensajes es similar en el ámbito a un identificador de entrada a largo plazo; debe ser único en todos los proveedores de almacén de mensajes. Para garantizar esta exclusividad, los proveedores de almacén de mensajes suelen establecer su clave de registro en un valor que sea la combinación de su propiedad PR_MDB_PROVIDER (PidTagStoreProvider) y un identificador único para el almacén de mensajes.
Claves de búsqueda
Se usa una clave de búsqueda para comparar los datos de dos objetos. La clave de búsqueda de un objeto se almacena en su propiedad PR_SEARCH_KEY (PidTagSearchKey). Dado que una clave de búsqueda representa los datos de un objeto y no el propio objeto, dos objetos diferentes con los mismos datos pueden tener la misma clave de búsqueda. Cuando se copia un objeto, por ejemplo, tanto el objeto original como su copia tienen los mismos datos y la misma clave de búsqueda.
Los usuarios de mensajes y mensajería tienen claves de búsqueda. La clave de búsqueda de un mensaje es un identificador único de los datos del mensaje. Los proveedores de almacén de mensajes suministran la propiedad PR_SEARCH_KEY de un mensaje en el momento de la creación del mensaje. La clave de búsqueda de una entrada de libreta de direcciones se calcula a partir de su tipo de dirección (PR_ADDRTYPE (PidTagAddressType)) y la dirección (PR_EMAIL_ADDRESS (PidTagEmailAddress)). Si la entrada de la libreta de direcciones se puede escribir, es posible que su clave de búsqueda no esté disponible hasta que el tipo de dirección y la dirección se hayan establecido mediante el método IMAPIProp::SetProps y la entrada se haya guardado mediante el método IMAPIProp::SaveChanges . Cuando cambian estas propiedades de dirección, es posible que la clave de búsqueda correspondiente no se sincronice con los nuevos valores hasta que los cambios se hayan confirmado con una llamada a SaveChanges .
El valor de la clave de registro de un objeto puede ser el mismo o diferente que el valor de su clave de búsqueda, en función del proveedor de servicios. Algunos proveedores de servicios usan el mismo valor para la clave de búsqueda, la clave de registro y el identificador de entrada de un objeto. Otros proveedores de servicios asignan valores únicos para cada uno de los identificadores de sus objetos.