Condividi tramite


Funzione OleUIInsertObjectA (oledlg.h)

Richiama la finestra di dialogo standard Inserisci oggetto, che consente all'utente di selezionare un'origine oggetto e un nome di classe, nonché l'opzione di visualizzare l'oggetto come se stesso o come icona.

Sintassi

UINT OleUIInsertObjectA(
  [in] LPOLEUIINSERTOBJECTA unnamedParam1
);

Parametri

[in] unnamedParam1

Puntatore alla struttura OLEUIINSERTOBJECT in uscita per questa finestra di dialogo.

Valore restituito

Definizioni di esito positivo/errore standard

Codice restituito Descrizione
OLEUI_FALSE
Errore sconosciuto (inutilizzato).
OLEUI_OK
L'utente ha premuto il pulsante OK.
OLEUI_SUCCESS
Nessun errore, uguale a OLEUI_OK.
OLEUI_CANCEL
L'utente ha premuto il pulsante Annulla.
 

Errori di convalida dei campi standard

Codice restituito Descrizione
OLEUI_ERR_STANDARDMIN
Gli errori comuni a tutte le finestre di dialogo si trovano nell'intervallo OLEUI_ERR_STANDARDMIN da OLEUI_ERR_STANDARDMAX. Questo valore consente all'applicazione di testare i messaggi standard per visualizzare i messaggi di errore all'utente.
OLEUI_ERR_STRUCTURENULL
Il puntatore a una struttura OLEUIXXX passata alla funzione è stato NULL.
OLEUI_ERR_STRUCTUREINVALID
Autorizzazioni insufficienti per l'accesso in lettura o scrittura a una struttura OLEUIXXX.
OLEUI_ERR_CBSTRUCTINCORRECT
Il valore cbstruct non è corretto.
OLEUI_ERR_HWNDOWNERINVALID
Il valore hWndOwner non è valido.
OLEUI_ERR_LPSZCAPTIONINVALID
Il valore lpszCaption non è valido.
OLEUI_ERR_LPFNHOOKINVALID
Il valore lpfnHook non è valido.
OLEUI_ERR_HINSTANCEINVALID
Il valore hInstance non è valido.
OLEUI_ERR_LPSZTEMPLATEINVALID
Il valore lpszTemplate non è valido.
OLEUI_ERR_HRESOURCEINVALID
Il valore hResource non è valido.
 

Errori di inizializzazione

Codice restituito Descrizione
OLEUI_ERR_FINDTEMPLATEFAILURE
Impossibile trovare il modello della finestra di dialogo.
OLEUI_ERR_LOADTEMPLATEFAILURE
Impossibile caricare il modello della finestra di dialogo.
OLEUI_ERR_DIALOGFAILURE
Inizializzazione della finestra di dialogo non riuscita.
OLEUI_ERR_LOCALMEMALLOC
Chiamata a LocalAlloc o allocatore IMalloc standard .
OLEUI_ERR_GLOBALMEMALLOC
Chiamata a GlobalAlloc o allocatore IMalloc standard .
OLEUI_ERR_LOADSTRING
Impossibile chiamare LoadString per le risorse localizzate dalla libreria.
OLEUI_ERR_OLEMEMALLOC
Una chiamata allocatore standard IMalloc non è riuscita.
 

Errori specifici della funzione

Codice restituito Descrizione
OLEUI_ERR_STANDARDMAX
Gli errori comuni a tutte le finestre di dialogo si trovano nell'intervallo OLEUI_ERR_STANDARDMIN da OLEUI_ERR_STANDARDMAX. Questo valore consente all'applicazione di testare i messaggi standard per visualizzare i messaggi di errore all'utente.
OLEUI_IOERR_LPSZFILEINVALID
Il valore lpszFile non è valido o l'utente dispone di autorizzazioni di accesso in scrittura insufficienti. Questo lpszFile membro punta al nome del file collegato o inserito.
OLEUI_IOERR_PPVOBJINVALID
Il valore di ppvOjb non è valido. Questo membro punta alla posizione in cui viene restituito il puntatore per l'oggetto.
OLEUI_IOERR_LPIOLECLIENTSITEINVALID
Il valore lpIOleClientSite non è valido. Questo membro punta al sito client per l'oggetto .
OLEUI_IOERR_LPISTORAGEINVALID
Il valore lpIStorage non è valido. Questo membro punta alla risorsa di archiviazione da utilizzare per l'oggetto .
OLEUI_IOERR_SCODEHASERROR
Il membro sc di lpIO contiene informazioni aggiuntive sull'errore.
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID
Il valore lpClsidExclude non è valido. Questo membro contiene l'elenco dei CLSID da escludere.
OLEUI_IOERR_CCHFILEINVALID
Il valore cchFile o lpszFile non è valido. Il membro cchFile specifica le dimensioni del buffer lpszFile . Il lpszFile membro punta al nome del file collegato o inserito.

Osservazioni

OleUIInsertObject consente all'utente di selezionare il tipo di oggetto da inserire da una casella di riepilogo contenente le applicazioni oggetto registrate nel sistema dell'utente. Per popolare tale casella di riepilogo, OleUIInsertObject attraversa il Registro di sistema, aggiungendo ogni server oggetti trovato che soddisfi i criteri seguenti:

  • La voce del Registro di sistema non include la chiave NotInsertable.
  • La voce del Registro di sistema include una chiave di tipo OLE 1.0 Protocol\\StdFileEditing\\Server.
  • La voce del Registro di sistema include la chiave inseriscibile.
  • Il CLSID dell'oggetto non è incluso nell'elenco di oggetti da escludere (il lpClsidExclude membro di OLEUIINSERTOBJECT).
Per impostazione predefinita, oleUIInsertObject non convalida i server oggetti, tuttavia, se il flag IOF_VERIFYSERVEREXIST è incluso nel membro dwFlags della struttura OLEUIINSERTOBJECT , OleUIInsertObject verifica che il server esista. Se non esiste, l'oggetto del server non viene aggiunto all'elenco di oggetti disponibili. La convalida del server è un'operazione lunga e rappresenta un fattore di prestazioni significativo.

Per liberare un HMETAFILEPICT restituito dal Inserisci oggetto o finestra di dialogo Incolla speciale, eliminare il metafile associato nell'handle, come indicato di seguito:

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

L'intestazione oledlg.h definisce OLEUIINSERTOBJECT come alias che seleziona automaticamente la versione ANSI o Unicode di questa funzione in base alla definizione della costante del preprocessore UNICODE. La combinazione dell'utilizzo dell'alias indipendente dalla codifica con il codice non indipendente dalla codifica può causare mancate corrispondenze che generano errori di compilazione o di runtime. Per altre informazioni, vedere convenzioni di per i prototipi di funzioni.

Fabbisogno

Requisito Valore
client minimo supportato Windows 2000 Professional [solo app desktop]
server minimo supportato Windows 2000 Server [solo app desktop]
piattaforma di destinazione Finestre
intestazione oledlg.h
libreria OleDlg.lib
dll OleDlg.dll

Vedere anche

OLEUIINSERTOBJECT

OpenFile