Freigeben über


OleUIInsertObjectW-Funktion (oledlg.h)

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

Syntax

UINT OleUIInsertObjectW(
  [in] LPOLEUIINSERTOBJECTW 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, identisch mit OLEUI_OK.
OLEUI_CANCEL
Der Benutzer hat die Schaltfläche Abbrechen gedrückt.
 

Standardfeldüberprüfungsfehler

Rückgabecode Beschreibung
OLEUI_ERR_STANDARDMIN
Fehler, die allen Dialogfeldern 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-Standardzuteilung ist fehlgeschlagen.
OLEUI_ERR_GLOBALMEMALLOC
Fehler beim Aufruf von GlobalAlloc oder dem IMalloc-Standardzuteilungsmodul.
OLEUI_ERR_LOADSTRING
LoadString kann nicht für lokalisierte Ressourcen aus der Bibliothek aufgerufen werden.
OLEUI_ERR_OLEMEMALLOC
Fehler beim Aufruf des IMalloc-Standardzuteilungsmoduls.
 

Funktionsspezifische Fehler

Rückgabecode Beschreibung
OLEUI_ERR_STANDARDMAX
Fehler, die allen Dialogfeldern 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, die mit verknüpft oder eingefügt ist.
OLEUI_IOERR_PPVOBJINVALID
Der ppvOjb-Wert ist ungültig. Dieses Element zeigt auf die Position, an der der Zeiger für das Objekt zurückgegeben wird.
OLEUI_IOERR_LPIOLECLIENTSITEINVALID
Der lpIOleClientSite-Wert ist ungültig. Dieses Element verweist auf den Clientstandort für das -Objekt.
OLEUI_IOERR_LPISTORAGEINVALID
Der lpIStorage-Wert ist ungültig. Dieses Element verweist auf den Speicher, der für das Objekt verwendet werden soll.
OLEUI_IOERR_SCODEHASERROR
Das sc-Element von lpIO enthält 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, die mit verknüpft oder eingefügt ist.

Hinweise

Mit OleUIInsertObject kann der Benutzer den Typ des einzufügenden Objekts aus einem Listenfeld auswählen, das die im System des Benutzers registrierten Objektanwendungen enthält. Zum Auffüllen dieses Listenfelds durchläuft OleUIInsertObject die Registrierung und fügt jeden gefundenen Objektserver hinzu, der die folgenden Kriterien erfüllt:

  • Der Registrierungseintrag enthält nicht den NotInsertable-Schlüssel.
  • Der Registrierungseintrag enthält einen OLE 1.0-Formatprotokoll\\StdFileEditing\\Serverschlüssel.
  • Der Registrierungseintrag enthält den einfügebaren 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-Member 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-Datei 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