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
Las aplicaciones cliente compatibles con MAPI y los proveedores de servicios pueden usar caracteres ANSI (byte único) o caracteres Unicode (doble byte). No se admiten conjuntos de caracteres OEM. Una cadena OEM que se pasa a un método o función MAPI hará que se produzca un error en ese método o función. Las aplicaciones cliente que funcionan con nombres de archivo en el conjunto de caracteres OEM deben tener cuidado de convertirlos en ANSI antes de pasarlos a un método o función MAPI.
La compatibilidad con el conjunto de caracteres Unicode es opcional, tanto para clientes como para proveedores de servicios. Todos los proveedores de servicios deben escribir su código para que puedan compilar independientemente de si admiten o no Unicode. Los clientes se compilan condicionalmente, en función de su nivel de soporte técnico, pero los proveedores de servicios no. No deben tener que volver a compilarse cuando cambie el juego de caracteres. Nada en el código del proveedor de servicios debe ser condicional.
Cuando los clientes o proveedores de servicios que admiten Unicode realizan una llamada de método que incluye cadenas de caracteres como parámetros de entrada o salida, establecen la marca de MAPI_UNICODE. Establecer esta marca indica a la implementación que todas las cadenas entrantes son cadenas Unicode. En la salida, al establecer esta marca se solicita que todas las cadenas que se pasan de la implementación sean cadenas Unicode si es posible. Los implementadores de métodos que admiten Unicode cumplirán con la solicitud; los implementadores de métodos que no proporcionan compatibilidad con Unicode no cumplirán. Las propiedades de cadena que no están en formato Unicode son de tipo PT_STRING8.
MAPI define la constante fMapiUnicode en el archivo de encabezado MAPIDEFS. H para representar el juego de caracteres predeterminado. Si un cliente o proveedor de servicios admite Unicode, fMapiUnicode se establece en MAPI_UNICODE. Los clientes y proveedores de servicios que no admiten Unicode establecen fMapiUnicode en cero.
Los proveedores de servicios que no admiten Unicode deben:
Rehúsa realizar conversiones entre conjuntos de caracteres.
Nunca pase la marca de MAPI_UNICODE en las llamadas al método.
Devuelve MAPI_E_BAD_CHARWIDTH cuando se pasa la marca de MAPI_UNICODE.
Declare las propiedades de cadena ANSI explícitamente.
Los proveedores de servicios también pueden devolver MAPI_E_BAD_CHARWIDTH cuando solo admiten Unicode y los clientes no pasan la marca de MAPI_UNICODE.
La versión actual de MAPI admite Unicode en los métodos siguientes:
IMAPIProp::GetLastError (solo implementación de IAddrBook )
Para estos métodos, los autores de llamadas pueden esperar que las cadenas devueltas sean cadenas Unicode. Las cadenas de caracteres devueltas desde implementaciones MAPI de cualquier otro método serán cadenas de caracteres ANSI.