Compartir a través de


Función OleUIInsertObjectA (oledlg.h)

Invoca el cuadro de diálogo insertar objeto estándar, lo que permite al usuario seleccionar un origen de objeto y un nombre de clase, así como la opción de mostrar el objeto como sí o como un icono.

Sintaxis

UINT OleUIInsertObjectA(
  [in] LPOLEUIINSERTOBJECTA unnamedParam1
);

Parámetros

[in] unnamedParam1

Puntero a la estructura OLEUIINSERTOBJECT para este cuadro de diálogo.

Valor devuelto

Definiciones de errores y correctos estándar

Código devuelto Descripción
OLEUI_FALSE
Error desconocido (sin usar).
OLEUI_OK
El usuario ha presionado el botón Aceptar.
OLEUI_SUCCESS
No hay ningún error, igual que OLEUI_OK.
OLEUI_CANCEL
El usuario ha presionado el botón Cancelar.
 

Errores de validación de campos estándar

Código devuelto Descripción
OLEUI_ERR_STANDARDMIN
Los errores comunes a todos los cuadros de diálogo se encuentran en el intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Este valor permite a la aplicación probar los mensajes estándar para mostrar los mensajes de error al usuario.
OLEUI_ERR_STRUCTURENULL
El puntero a una estructura OLEUIXXX pasada a la función era NULL.
OLEUI_ERR_STRUCTUREINVALID
Permisos insuficientes para el acceso de lectura o escritura a una estructura OLEUIXXX.
OLEUI_ERR_CBSTRUCTINCORRECT
El valor cbstruct es incorrecto.
OLEUI_ERR_HWNDOWNERINVALID
El hWndOwner no es válido.
OLEUI_ERR_LPSZCAPTIONINVALID
El valor de lpszCaption no es válido.
OLEUI_ERR_LPFNHOOKINVALID
El valor de lpfnHook no es válido.
OLEUI_ERR_HINSTANCEINVALID
El hInstance no es válido.
OLEUI_ERR_LPSZTEMPLATEINVALID
El valor de lpszTemplate no es válido.
OLEUI_ERR_HRESOURCEINVALID
El valor de hResource no es válido.
 

Errores de inicialización

Código devuelto Descripción
OLEUI_ERR_FINDTEMPLATEFAILURE
No se puede encontrar la plantilla del cuadro de diálogo.
OLEUI_ERR_LOADTEMPLATEFAILURE
No se puede cargar la plantilla del cuadro de diálogo.
OLEUI_ERR_DIALOGFAILURE
Error de inicialización del cuadro de diálogo.
OLEUI_ERR_LOCALMEMALLOC
Error de llamada a localAlloc o al asignador estándar IMalloc.
OLEUI_ERR_GLOBALMEMALLOC
No se pudo realizar una llamada a GlobalAlloc o al asignador estándar IMalloc.
OLEUI_ERR_LOADSTRING
No se puede llamar a LoadString para los recursos localizados de la biblioteca.
OLEUI_ERR_OLEMEMALLOC
Error en una llamada al asignador estándar IMalloc.
 

Errores específicos de la función

Código devuelto Descripción
OLEUI_ERR_STANDARDMAX
Los errores comunes a todos los cuadros de diálogo se encuentran en el intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Este valor permite a la aplicación probar los mensajes estándar para mostrar los mensajes de error al usuario.
OLEUI_IOERR_LPSZFILEINVALID
El valor de lpszFile no es válido o el usuario no tiene permisos de acceso de escritura insuficientes. Este lpszFile miembro apunta al nombre del archivo vinculado a o insertado.
OLEUI_IOERR_PPVOBJINVALID
El ppvOjb no es válido. Este miembro apunta a la ubicación donde se devuelve el puntero para el objeto.
OLEUI_IOERR_LPIOLECLIENTSITEINVALID
El valor de lpIOleClientSite no es válido. Este miembro apunta al sitio cliente para el objeto .
OLEUI_IOERR_LPISTORAGEINVALID
El valor de lpIStorage no es válido. Este miembro apunta al almacenamiento que se va a usar para el objeto .
OLEUI_IOERR_SCODEHASERROR
El miembro sc de lpIO tiene información de error adicional.
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID
El valor de lpClsidExclude no es válido. Este miembro contiene la lista de CLSID que se van a excluir.
OLEUI_IOERR_CCHFILEINVALID
El cchFile o lpszFile valor no es válido. El miembro cchFile especifica el tamaño del búfer de lpszFile. El miembro lpszFile apunta al nombre del archivo vinculado o insertado.

Observaciones

oleUIInsertObject permite al usuario seleccionar el tipo de objeto que se va a insertar desde un cuadro de lista que contenga las aplicaciones de objeto registradas en el sistema del usuario. Para rellenar ese cuadro de lista, OleUIInsertObject recorre el registro, agregando cada servidor de objetos que encuentra que cumple los siguientes criterios:

  • La entrada del Registro no incluye la clave NotInsertable.
  • La entrada del Registro incluye una clave de protocolo de estilo OLE 1.0\\StdFileEditing\\Server.
  • La entrada del Registro incluye la clave Insertable.
  • El CLSID del objeto no se incluye en la lista de objetos que se van a excluir (el lpClsidExclude miembro de OLEUIINSERTOBJECT).
De forma predeterminada, oleUIInsertObject no valida los servidores de objetos, sin embargo, si la marca IOF_VERIFYSERVEREXIST está incluida en el miembro dwFlags de la estructura OLEUIINSERTOBJECT , OleUIInsertObject comprueba que el servidor existe. Si no existe, el objeto del servidor no se agrega a la lista de objetos disponibles. La validación del servidor es una operación extensa del tiempo y es un factor de rendimiento significativo.

Para liberar una HMETAFILEPICT devuelta desde el de objeto de inserción de o cuadro de diálogo Pegar especial, elimine el metarchivo adjunto en el identificador, como se indica a continuación:

void FreeHmetafilepict(HMETAFILEPICT hmfp)
{
    if (hmfp != NULL)
    {
        LPMETAFILEPICT pmfp = GlobalLock(hmfp);
 
        DeleteMetaFile(pmfp->hMF);
        GlobalUnlock(hmfp);
        GlobalFree(hmfp);
    }
    else
    {
        // Handle null pointers here.
        exit(0);
    }
}

Nota

El encabezado oledlg.h define OLEUIINSERTOBJECT como alias que selecciona automáticamente la versión ANSI o Unicode de esta función en función de la definición de la constante de preprocesador UNICODE. La combinación del uso del alias neutral de codificación con código que no es neutral de codificación puede dar lugar a errores de coincidencia que dan lugar a errores de compilación o tiempo de ejecución. Para obtener más información, vea Conventions for Function Prototypes.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 2000 Professional [solo aplicaciones de escritorio]
servidor mínimo admitido Windows 2000 Server [solo aplicaciones de escritorio]
de la plataforma de destino de Windows
encabezado de oledlg.h
biblioteca de OleDlg.lib
DLL de OleDlg.dll

Consulte también

OLEUIINSERTOBJECT

OpenFile