IMAPISession::OpenAddressBook
Hace referencia a: Outlook 2013 | Outlook 2016
Abre la libreta de direcciones integrada MAPI y devuelve un puntero IAddrBook para obtener más acceso.
HRESULT OpenAddressBook(
ULONG_PTR ulUIParam,
LPCIID lpInterface,
ULONG ulFlags,
LPADRBOOK FAR * lppAdrBook
);
Parameters
ulUIParam
[in] Identificador de la ventana primaria del cuadro de diálogo de dirección común y otras pantallas relacionadas.
lpInterface
[in] Puntero al identificador de interfaz (IID) que representa la interfaz que se va a usar para acceder a la libreta de direcciones. Pasar null devuelve un puntero a la interfaz estándar de la libreta de direcciones, IAddrBook : IMAPIProp.
ulFlags
[in] Máscara de bits de marcas que controla la apertura de la libreta de direcciones. Se puede establecer la marca siguiente:
AB_NO_DIALOG
Suprime la visualización de cuadros de diálogo. Si no se establece la marca de AB_NO_DIALOG, los proveedores de libretas de direcciones que contribuyen a la libreta de direcciones integrada pueden pedir al usuario cualquier información necesaria.
lppAdrBook
[out] Puntero a un puntero a la libreta de direcciones.
Valor devuelto
S_OK
La libreta de direcciones se abrió correctamente.
MAPI_W_ERRORS_RETURNED
La llamada se realizó correctamente, pero no se pudieron abrir los contenedores de uno o varios proveedores de libreta de direcciones. Cuando se devuelve esta advertencia, la llamada debe controlarse correctamente. Para probar esta advertencia, use la macro HR_FAILED . Para obtener más información, vea Uso de macros para el control de errores.
Comentarios
El método IMAPISession::OpenAddressBook abre la libreta de direcciones integrada MAPI, una colección de contenedores de nivel superior de todos los proveedores de libreta de direcciones del perfil. El puntero que se devuelve en el parámetro lppAdrBook proporciona más acceso al contenido de la libreta de direcciones. Esto permite al autor de la llamada realizar tareas como abrir contenedores individuales, buscar usuarios de mensajería y mostrar cuadros de diálogo de direcciones comunes.
Notas para los llamadores
OpenAddressBook devuelve MAPI_W_ERRORS_RETURNED si no puede cargar uno o varios de los proveedores de libreta de direcciones en el perfil. Este valor es una advertencia, no un valor de error; controlarlo como S_OK. OpenAddressBook siempre devuelve un puntero válido en el parámetro lppAdrBook , independientemente de cuántos proveedores de libreta de direcciones no se pudieron cargar. Por lo tanto, siempre debe llamar al método IUnknown::Release de la libreta de direcciones en algún momento antes de cerrar la sesión.
Cuando OpenAddressBook devuelve MAPI_W_ERRORS_RETURNED, llame a IMAPISession::GetLastError para obtener una estructura MAPIERROR que contenga información sobre los proveedores con errores. Se devuelve una única estructura MAPIERROR que contiene información proporcionada por todos los proveedores.
Referencia de MFCMAPI
Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.
Archivo | Función | Comment |
---|---|---|
MAPIObjects.cpp |
CMapiObjects::GetAddrBook |
MFCMAPI usa el método IMAPISession::OpenAddressBook para obtener la libreta de direcciones integrada. |