Freigeben über


OleUIInsertObjectA-Funktion (oledlg.h)

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

Syntax

UINT OleUIInsertObjectA(
  [in] LPOLEUIINSERTOBJECTA unnamedParam1
);

Parameter

[in] unnamedParam1

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

Rückgabewert

Standard-Erfolgs-/Fehlerdefinitionen

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 für alle Dialogfelder üblich sind, liegen im Bereich OLEUI_ERR_STANDARDMIN, um 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 wird, war NULL-.
OLEUI_ERR_STRUCTUREINVALID
Unzureichende Berechtigungen für Lese- oder Schreibzugriff auf eine OLEUIXXX-Struktur.
OLEUI_ERR_CBSTRUCTINCORRECT
Der wert cbstruct 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 wert lpszTemplate 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 Initialisierung des Dialogfelds.
OLEUI_ERR_LOCALMEMALLOC
Fehler beim Aufruf LocalAlloc- oder des Standard-IMalloc Allocator.
OLEUI_ERR_GLOBALMEMALLOC
Fehler beim Aufruf von GlobalAlloc oder der Standard-IMalloc Allocator.
OLEUI_ERR_LOADSTRING
LoadString kann nicht für lokalisierte Ressourcen aus der Bibliothek aufgerufen werden.
OLEUI_ERR_OLEMEMALLOC
Fehler beim Aufruf des Standard-IMalloc Allocator.
 

Funktionsspezifische Fehler

Rückgabecode Beschreibung
OLEUI_ERR_STANDARDMAX
Fehler, die für alle Dialogfelder üblich sind, liegen im Bereich OLEUI_ERR_STANDARDMIN, um OLEUI_ERR_STANDARDMAX. Mit diesem Wert kann die Anwendung auf Standardmeldungen testen, um dem Benutzer Fehlermeldungen anzuzeigen.
OLEUI_IOERR_LPSZFILEINVALID
Der wert lpszFile ist ungültig, oder der Benutzer verfügt über unzureichende Schreibzugriffsberechtigungen. Dieser lpszFile Member verweist auf den Namen der Datei, die mit oder eingefügt ist.
OLEUI_IOERR_PPVOBJINVALID
Der ppvOjb Wert ist ungültig. Dieses Element verweist 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 die Clientwebsite 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 Mitglied von lpIO- enthält zusätzliche Fehlerinformationen.
OLEUI_IOERR_LPCLSIDEXCLUDEINVALID
Der lpClsidExclude Wert ist ungültig. Dieses Mitglied enthält die Liste der auszuschließenden CLSIDs.
OLEUI_IOERR_CCHFILEINVALID
Der wert cchFile oder lpszFile ist ungültig. Das cchFile Member gibt die Größe des lpszFile- Puffers an. Das lpszFile Member verweist auf den Namen der Datei, die mit oder eingefügt wurde.

Bemerkungen

OleUIInsertObject- ermöglicht es dem Benutzer, den Objekttyp auszuwählen, der aus einem Listenfeld eingefügt werden soll, das die im System des Benutzers registrierten Objektanwendungen enthält. Um dieses Listenfeld aufzufüllen, OleUIInsertObject die Registrierung durchläuft, fügen Sie alle gefundenen Objektserver hinzu, die die folgenden Kriterien erfüllen:

  • Der Registrierungseintrag enthält nicht den NotInsertable-Schlüssel.
  • Der Registrierungseintrag enthält ein OLE 1.0-Stilprotokoll\\StdFileEditing\\Server-Schlü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 Member von OLEUIINSERTOBJECT).
Standardmäßig überprüft OleUIInsertObject- objektserver nicht, wenn das IOF_VERIFYSERVEREXIST Flag jedoch im dwFlags-Element des OLEUIINSERTOBJECT Struktur enthalten ist, OleUIInsertObject überprüft, 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 Serverüberprüfung ist ein zeitintensiver Vorgang und ein erheblicher Leistungsfaktor.

Um eine HMETAFILEPICT- freizugeben, die vom Dialogfeld Objekt einfügen oder Dialogfeld "Inhalte 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);
    }
}

Anmerkung

Der oledlg.h-Header definiert OLEUIINSERTOBJECT als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Windows 2000 Professional [nur Desktop-Apps]
mindestens unterstützte Server- Windows 2000 Server [nur Desktop-Apps]
Zielplattform- Fenster
Header- oledlg.h
Library OleDlg.lib
DLL- OleDlg.dll

Siehe auch

OLEUIINSERTOBJECT

OpenFile-