IMAPIFormContainer::InstallForm
Hace referencia a: Outlook 2013 | Outlook 2016
Instala un formulario en una biblioteca de formularios.
HRESULT InstallForm(
ULONG_PTR ulUIParam,
ULONG ulFlags,
LPCSTR szCfgPathName
);
Parameters
ulUIParam
[in] Identificador de la ventana primaria de los cuadros de diálogo o ventanas que muestra este método. El parámetro ulUIParam se omite a menos que la aplicación cliente establezca la marca de MAPI_DIALOG en el parámetro ulFlags . El parámetro ulUIParam puede ser NULL si no se pasa también MAPI_DIALOG.
ulFlags
[in] Máscara de bits de marcas que controla la instalación del formulario. Se pueden establecer las siguientes marcas:
MAPI_DIALOG
Muestra un cuadro de diálogo para proporcionar información de progreso o pedir al usuario más información. Si no se establece esta marca, no se muestra ningún cuadro de diálogo.
MAPI_UNICODE
Las cadenas pasadas están en formato Unicode. Si no se establece la marca de MAPI_UNICODE, las cadenas están en formato ANSI.
MAPIFORM_INSTALL_OVERWRITEONCONFLICT
Si ya existe otro formulario que controla la clase de mensaje controlada por este formulario, reemplace el formulario existente por este. Esta marca se omite si la marca de MAPI_DIALOG también está presente.
szCfgPathName
[in] Ruta de acceso al archivo de configuración del formulario.
Valor devuelto
S_OK
La llamada se ha realizado correctamente y devuelva el valor esperado o los valores.
MAPI_E_EXTENDED_ERROR
Error de implementación. Para obtener la estructura MAPIERROR asociada al error, llame al método IMAPIFormContainer::GetLastError .
MAPI_E_USER_CANCEL
El usuario canceló la instalación del formulario, normalmente haciendo clic en el botón Cancelar de un cuadro de diálogo.
Notas a los implementadores
Los proveedores de bibliotecas de formularios deben rellenar una estructura MAPIERROR y devolver MAPI_E_EXTENDED_ERROR si se produce alguna de las condiciones siguientes:
No se encuentra el archivo de configuración.
El archivo de configuración no es legible.
El archivo de configuración no es válido.
Notas para los llamadores
Las aplicaciones cliente llaman al método IMAPIFormContainer::InstallForm para instalar un formulario en un contenedor de formularios específico. El parámetro szCfgPathName debe contener la ruta de acceso de un archivo de configuración de formulario (es decir, un archivo con la extensión .cfg que describe el formulario y su implementación). Las marcas del parámetro ulFlags especifican lo siguiente:
Si se establece la marca de MAPI_DIALOG, se muestra una interfaz de usuario, lo que permite al usuario que instala el formulario especificar los detalles de la instalación.
Si se establece la marca de MAPIFORM_INSTALL_OVERWRITEONCONFLICT, cualquier formulario anterior de la misma clase de mensaje se reemplaza por el formulario que se está instalando. De lo contrario, la instalación del formulario se combina con la descripción del formulario actual, si existe.
Si se establece MAPI_DIALOG, se omite MAPIFORM_INSTALL_OVERWRITEONCONFLICT.
La ausencia de MAPIFORM_INSTALL_OVERWRITEONCONFLICT en el conjunto de marcas significa que se realizará una combinación. Se instalarán las nuevas plataformas del archivo .cfg que no estén presentes actualmente en la descripción del formulario y no se producirá ningún otro cambio.
Si se establece la marca de MAPI_UNICODE, la ruta de acceso del archivo de configuración del formulario es una cadena Unicode.
Los clientes deben llamar a IMAPIFormContainer::GetLastError si InstallForm devuelve MAPI_E_EXTENDED_ERROR y deben comprobar la estructura MAPIERROR devuelta para determinar la condición que generó el error.
Referencia de MFCMAPI
Para obtener un ejemplo de código de MFCMAPI, vea la siguiente tabla.
Archivo | Función | Comment |
---|---|---|
FormContainerDlg.cpp |
CFormContainerDlg::OnInstallForm |
MFCMAPI usa el método IMAPIFormContainer::InstallForm para instalar un formulario en un contenedor de formularios. |