Compartilhar via


Função OleUIInsertObjectW (oledlg.h)

Invoca a caixa de diálogo Inserir Objeto padrão, que permite que o usuário selecione um nome de origem e classe de objeto, bem como a opção de exibir o objeto como ele mesmo ou como um ícone.

Sintaxe

UINT OleUIInsertObjectW(
  [in] LPOLEUIINSERTOBJECTW unnamedParam1
);

Parâmetros

[in] unnamedParam1

Ponteiro para a estrutura de OLEUIINSERTOBJECT para esta caixa de diálogo.

Valor de retorno

Definições padrão de êxito/erro

Código de retorno Descrição
OLEUI_FALSE
Falha desconhecida (não utilizado).
OLEUI_OK
O usuário pressionou o botão OK.
OLEUI_SUCCESS
Nenhum erro, o mesmo que OLEUI_OK.
OLEUI_CANCEL
O usuário pressionou o botão Cancelar.
 

Erros de validação de campo padrão

Código de retorno Descrição
OLEUI_ERR_STANDARDMIN
Erros comuns a todas as caixas de diálogo estão no intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Esse valor permite que o aplicativo teste mensagens padrão para exibir mensagens de erro para o usuário.
OLEUI_ERR_STRUCTURENULL
O ponteiro para uma estrutura OLEUIXXX passada para a função foi NULL.
OLEUI_ERR_STRUCTUREINVALID
Permissões insuficientes para acesso de leitura ou gravação a uma estrutura OLEUIXXX.
OLEUI_ERR_CBSTRUCTINCORRECT
O valor de de cbstruct está incorreto.
OLEUI_ERR_HWNDOWNERINVALID
O valor hWndOwner é inválido.
OLEUI_ERR_LPSZCAPTIONINVALID
O valor lpszCaption é inválido.
OLEUI_ERR_LPFNHOOKINVALID
O valor lpfnHook é inválido.
OLEUI_ERR_HINSTANCEINVALID
O valor de hInstance é inválido.
OLEUI_ERR_LPSZTEMPLATEINVALID
O valor lpszTemplate é inválido.
OLEUI_ERR_HRESOURCEINVALID
O hResource valor é inválido.
 

Erros de inicialização

Código de retorno Descrição
OLEUI_ERR_FINDTEMPLATEFAILURE
Não é possível localizar o modelo da caixa de diálogo.
OLEUI_ERR_LOADTEMPLATEFAILURE
Não é possível carregar o modelo da caixa de diálogo.
OLEUI_ERR_DIALOGFAILURE
Falha na inicialização da caixa de diálogo.
OLEUI_ERR_LOCALMEMALLOC
Falha ao LocalAlloc ou ao alocador de IMalloc de padrão.
OLEUI_ERR_GLOBALMEMALLOC
Falha ao GlobalAlloc ou ao alocador de IMalloc de padrão.
OLEUI_ERR_LOADSTRING
Não é possível chamar LoadString para recursos localizados da biblioteca.
OLEUI_ERR_OLEMEMALLOC
Falha ao chamar o alocador de IMalloc de padrão.
 

Erros específicos da função

Código de retorno Descrição
OLEUI_ERR_STANDARDMAX
Erros comuns a todas as caixas de diálogo estão no intervalo OLEUI_ERR_STANDARDMIN a OLEUI_ERR_STANDARDMAX. Esse valor permite que o aplicativo teste mensagens padrão para exibir mensagens de erro para o usuário.
OLEUI_IOERR_LPSZFILEINVALID
O valor lpszFile é inválido ou o usuário tem permissões de acesso de gravação insuficientes. Esse membro lpszFile aponta para o nome do arquivo vinculado ou inserido.
OLEUI_IOERR_PPVOBJINVALID
O valor ppvOjb é inválido. Esse membro aponta para o local onde o ponteiro para o objeto é retornado.
OLEUI_IOERR_LPIOLECLIENTSITEINVALID
O valor lpIOleClientSite é inválido. Esse membro aponta para o site cliente do objeto.
OLEUI_IOERR_LPISTORAGEINVALID
O valor lpIStorage é inválido. Esse membro aponta para o armazenamento a ser usado para o objeto.
OLEUI_IOERR_SCODEHASERROR
O sc membro do lpIO tem informações de erro adicionais.
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID
O valor lpClsidExclude é inválido. Esse membro contém a lista de CLSIDs a serem excluídos.
OLEUI_IOERR_CCHFILEINVALID
O cchFile ou lpszFile valor é inválido. O membro cchFile especifica o tamanho do buffer lpszFile . O membro lpszFile aponta para o nome do arquivo vinculado ou inserido.

Observações

OleUIInsertObject permite que o usuário selecione o tipo de objeto a ser inserido em uma caixa de listagem que contém os aplicativos de objeto registrados no sistema do usuário. Para preencher essa caixa de listagem, OleUIInsertObject percorre o registro, adicionando todos os servidores de objetos encontrados que atendem aos seguintes critérios:

  • A entrada do Registro não inclui a chave NotInsertable.
  • A entrada do Registro inclui um protocolo de estilo OLE 1.0\\StdFileEditing\\Server key.
  • A entrada do Registro inclui a chave inserivel.
  • O CLSID do objeto não está incluído na lista de objetos a serem excluídos (o lpClsidExclude membro do OLEUIINSERTOBJECT).
Por padrão, OleUIInsertObject não valida os servidores de objetos, no entanto, se o sinalizador IOF_VERIFYSERVEREXIST estiver incluído no membro dwFlags da estrutura de OLEUIINSERTOBJECT , OleUIInsertObject verificar se o servidor existe. Se ele não existir, o objeto do servidor não será adicionado à lista de objetos disponíveis. A validação do servidor é uma operação de tempo extenso e é um fator de desempenho significativo.

Para liberar um HMETAFILEPICT retornado da caixa de diálogo Inserir Objeto ou Colar Especial, exclua o metafile anexado no identificador, da seguinte maneira:

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

O cabeçalho oledlg.h define OLEUIINSERTOBJECT como um alias que seleciona automaticamente a versão ANSI ou Unicode dessa função com base na definição da constante do pré-processador UNICODE. A combinação do uso do alias neutro de codificação com código que não é neutro em codificação pode levar a incompatibilidades que resultam em erros de compilação ou de runtime. Para obter mais informações, consulte Conventions for Function Prototypes.

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 2000 Professional [somente aplicativos da área de trabalho]
servidor com suporte mínimo Windows 2000 Server [somente aplicativos da área de trabalho]
da Plataforma de Destino Windows
cabeçalho oledlg.h
biblioteca OleDlg.lib
de DLL OleDlg.dll

Consulte também

OLEUIINSERTOBJECT

OpenFile