Algoritmo para codificar identificadores de entrada e identificadores de datos adjuntos

Hace referencia a: Outlook 2013 | Outlook 2016

Un proveedor de almacén puede enviar como parte de un localizador uniforme de recursos (URL) MAPI un identificador de entrada y un identificador de datos adjuntos al controlador de protocolo MAPI para identificar un objeto que está listo para la indexación. El proveedor de almacén codifica el identificador de entrada y el identificador de datos adjuntos como cadenas Unicode. En este tema se muestra un algoritmo que genera una representación compacta del identificador de entrada o del identificador de datos adjuntos.

const WORD kwBaseOffset = 0xAC00;  // Hangul char range (AC00-D7AF) 
LPWSTR EncodeID(ULONG cbEID, LPENTRYID rgbID) 
{ 
    ULONG   i = 0; 
    LPWSTR  pwzDst = NULL; 
    LPBYTE  pbSrc = NULL; 
    LPWSTR  pwzIDEncoded = NULL; 
 
    // rgbID is the item Entry ID or the attachment ID 
    // cbID is the size in bytes of rgbID 
 
    // Allocate memory for pwzIDEncoded 
    pwzIDEncoded = new WCHAR[cbEID]; 
    if (!pwzIDEncoded) return NULL; 
 
    for (i = 0, pbSrc = (LPBYTE)rgbID, pwzDst = pwzIDEncoded; 
        i < cbEID; 
        i++, pbSrc++, pwzDst++) 
    { 
        *pwzDst = (WCHAR) (*pbSrc + kwBaseOffset); 
    } 
 
    // Ensure NULL terminated 
    *pwzDst = L'\0'; 
 
    // pwzIDEncoded now contains the entry ID encoded. 
    return pwzIDEncoded; 
}

Vea también

Acerca de Notification-Based indexación de almacén

Acerca de las direcciones URL mapi para la indexación de Notification-Based