OleUIInsertObjectA-Funktion (oledlg.h)

Ruft das Standarddialogfeld Objekt einfügen auf, in dem der Benutzer eine Objektquelle und einen Klassennamen sowie die Option zum Anzeigen des Objekts als sich selbst oder als Symbol auswählen kann.

Syntax

UINT OleUIInsertObjectA(
  [in] LPOLEUIINSERTOBJECTA unnamedParam1
);

Parameter

[in] unnamedParam1

Zeiger auf die in-out OLEUIINSERTOBJECT-Struktur für dieses Dialogfeld.

Rückgabewert

Standarddefinitionen für Erfolg/Fehler

Rückgabecode Beschreibung
OLEUI_FALSE
Unbekannter Fehler (nicht verwendet).
OLEUI_OK
Der Benutzer hat die Schaltfläche OK gedrückt.
OLEUI_SUCCESS
Kein Fehler, wie OLEUI_OK.
OLEUI_CANCEL
Der Benutzer hat die Schaltfläche Abbrechen gedrückt.
 

Standardfeldvalidierungsfehler

Rückgabecode Beschreibung
OLEUI_ERR_STANDARDMIN
Fehler, die für alle Dialogfelder gemeinsam sind, liegen im Bereich OLEUI_ERR_STANDARDMIN OLEUI_ERR_STANDARDMAX. Mit diesem Wert kann die Anwendung auf Standardmeldungen testen, um dem Benutzer Fehlermeldungen anzuzeigen.
OLEUI_ERR_STRUCTURENULL
Der Zeiger auf eine OLEUIXXX-Struktur, die an die Funktion übergeben wurde, war NULL.
OLEUI_ERR_STRUCTUREINVALID
Unzureichende Berechtigungen für Lese- oder Schreibzugriff auf eine OLEUIXXX-Struktur.
OLEUI_ERR_CBSTRUCTINCORRECT
Der cbstruct-Wert ist falsch.
OLEUI_ERR_HWNDOWNERINVALID
Der hWndOwner-Wert ist ungültig.
OLEUI_ERR_LPSZCAPTIONINVALID
Der lpszCaption-Wert ist ungültig.
OLEUI_ERR_LPFNHOOKINVALID
Der lpfnHook-Wert ist ungültig.
OLEUI_ERR_HINSTANCEINVALID
Der hInstance-Wert ist ungültig.
OLEUI_ERR_LPSZTEMPLATEINVALID
Der lpszTemplate-Wert ist ungültig.
OLEUI_ERR_HRESOURCEINVALID
Der hResource-Wert ist ungültig.
 

Initialisierungsfehler

Rückgabecode Beschreibung
OLEUI_ERR_FINDTEMPLATEFAILURE
Die Dialogfeldvorlage konnte nicht gefunden werden.
OLEUI_ERR_LOADTEMPLATEFAILURE
Die Dialogfeldvorlage kann nicht geladen werden.
OLEUI_ERR_DIALOGFAILURE
Fehler bei der Dialogfeldinitialisierung.
OLEUI_ERR_LOCALMEMALLOC
Ein Aufruf von LocalAlloc oder der IMalloc-Standardzuweisung ist fehlgeschlagen.
OLEUI_ERR_GLOBALMEMALLOC
Fehler beim Aufruf von GlobalAlloc oder der IMalloc-Standardzuweisung .
OLEUI_ERR_LOADSTRING
LoadString für lokalisierte Ressourcen aus der Bibliothek kann nicht aufgerufen werden.
OLEUI_ERR_OLEMEMALLOC
Fehler beim Aufruf der IMalloc-Standardzuweisung .
 

Funktionsspezifische Fehler

Rückgabecode Beschreibung
OLEUI_ERR_STANDARDMAX
Fehler, die für alle Dialogfelder gemeinsam sind, liegen im Bereich OLEUI_ERR_STANDARDMIN OLEUI_ERR_STANDARDMAX. Mit diesem Wert kann die Anwendung auf Standardmeldungen testen, um dem Benutzer Fehlermeldungen anzuzeigen.
OLEUI_IOERR_LPSZFILEINVALID
Der LpszFile-Wert ist ungültig, oder der Benutzer verfügt über unzureichende Schreibzugriffsberechtigungen. Dieses lpszFile-Element verweist auf den Namen der Datei, mit der verknüpft oder eingefügt wurde.
OLEUI_IOERR_PPVOBJINVALID
Der ppvOjb-Wert ist ungültig. Dieser Member zeigt auf die Position, an der der Zeiger für das Objekt zurückgegeben wird.
OLEUI_IOERR_LPIOLECLIENTSITEINVALID
Der LpIOleClientSite-Wert ist ungültig. Dieser Member zeigt auf den Clientstandort für das -Objekt.
OLEUI_IOERR_LPISTORAGEINVALID
Der lpIStorage-Wert ist ungültig. Dieser Member verweist auf den Speicher, der für das -Objekt verwendet werden soll.
OLEUI_IOERR_SCODEHASERROR
Das sc-Element von lpIO verfügt über zusätzliche Fehlerinformationen.
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID
Der LpClsidExclude-Wert ist ungültig. Dieses Element enthält die Liste der auszuschließenden CLSIDs.
OLEUI_IOERR_CCHFILEINVALID
Der Wert cchFile oder lpszFile ist ungültig. Das cchFile-Element gibt die Größe des lpszFile-Puffers an. Das lpszFile-Element verweist auf den Namen der Datei, mit der verknüpft oder eingefügt wurde.

Hinweise

OleUIInsertObject ermöglicht es dem Benutzer, den Typ des einzufügenden Objekts aus einem Listenfeld auszuwählen, das die im System des Benutzers registrierten Objektanwendungen enthält. Um dieses Listenfeld aufzufüllen, durchläuft OleUIInsertObject die Registrierung und fügt jeden gefundenen Objektserver hinzu, der die folgenden Kriterien erfüllt:

  • Der Registrierungseintrag enthält nicht den Schlüssel NotInsertable.
  • Der Registrierungseintrag enthält einen OLE 1.0-Stil Protocol\\StdFileEditing\\Server-Schlüssel.
  • Der Registrierungseintrag enthält den einfügbaren Schlüssel.
  • Die CLSID des Objekts ist nicht in der Liste der auszuschließenden Objekte enthalten (das lpClsidExclude-Element von OLEUIINSERTOBJECT).
Standardmäßig überprüft OleUIInsertObject keine Objektserver. Wenn das IOF_VERIFYSERVEREXIST-Flag jedoch im dwFlags-Element der OLEUIINSERTOBJECT-Struktur enthalten ist, überprüft OleUIInsertObject , ob der Server vorhanden ist. Wenn es nicht vorhanden ist, wird das Objekt des Servers nicht der Liste der verfügbaren Objekte hinzugefügt. Die Servervalidierung ist ein zeitintensiver Vorgang und ein wichtiger Leistungsfaktor.

Um eine HMETAFILEPICT freizugeben, die aus dem Dialogfeld Objekt einfügen oder Spezial einfügen zurückgegeben wird, löschen Sie die angefügte Metadatei auf dem Handle wie folgt:

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);
        }
} 

Hinweis

Der oledlg.h-Header definiert OLEUIINSERTOBJECT als Alias, der automatisch die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile oledlg.h
Bibliothek OleDlg.lib
DLL OleDlg.dll

Weitere Informationen

OLEUIINSERTOBJECT

OpenFile