Freigeben über


IAtlMemMgr-Klasse

Diese Klasse stellt die Schnittstelle zu einem Speicher-Manager dar.

Syntax

__interface __declspec(uuid("654F7EF5-CFDF-4df9-A450-6C6A13C622C0")) IAtlMemMgr

Member

Methoden

Name Beschreibung
Zuteilen Rufen Sie diese Methode auf, um einen Speicherblock zu belegen.
Free Rufen Sie diese Methode auf, um einen Speicherblock freizugeben.
GetSize Rufen Sie diese Methode auf, um die Größe eines zugeordneten Speicherblocks abzurufen.
Neu zuteilen Rufen Sie diese Methode auf, um einen Speicherblock neu zu verlagern.

Hinweise

Diese Schnittstelle wird von CComHeap, CCRTHeap, CLocalHeap, CGlobalHeap oder CWin32Heap implementiert.

Hinweis

Die lokalen und globalen Heap-Funktionen sind langsamer als andere Speicherverwaltungsfunktionen und bieten nicht so viele Features. Daher sollten neue Anwendungen die Heap-Funktionen verwenden. Diese sind in der CWin32Heap-Klasse verfügbar.

Beispiel

// Demonstrate IAtlMemMgr using the five possible
// memory function implementation classes. 

HRESULT MemoryManagerDemonstration(IAtlMemMgr& MemoryManager) throw()
{
   // The IAtlMemMgr interface guarantees not to throw exceptions
   // so we can make the same guarantee for this function
   // without adding exception handling code.

   // A variable which will point to some allocated memory.
   void* pMemory = NULL;

   const size_t BytesInChunk = 1024;

   // Allocate a chunk of memory
   pMemory = MemoryManager.Allocate(BytesInChunk);

   // Confirm the validity of the allocated memory
   if (pMemory == NULL)
      return E_OUTOFMEMORY;

   // Confirm the size of the allocated memory
   ATLASSERT(MemoryManager.GetSize(pMemory) == BytesInChunk);

   // Increase the size of the allocated memory
   pMemory = MemoryManager.Reallocate(pMemory, BytesInChunk * 2);

   // Confirm the validity of the allocated memory
   if (pMemory == NULL)
      return E_OUTOFMEMORY;

   // Confirm the size of the reallocated  memory
   ATLASSERT(MemoryManager.GetSize(pMemory) == BytesInChunk * 2);

   // Free the allocated memory
   MemoryManager.Free(pMemory);

   return S_OK;
}

int DoMemoryManagerDemonstration()
{
   CComHeap heapCom;
   CCRTHeap heapCrt;
   CLocalHeap heapLocal;
   CGlobalHeap heapGlobal;
   // It is necessary to provide extra information 
   // to the constructor when using CWin32Heap
   CWin32Heap heapWin32(NULL, 4096); 

   ATLASSERT(S_OK==MemoryManagerDemonstration(heapCom));
   ATLASSERT(S_OK==MemoryManagerDemonstration(heapCrt));
   ATLASSERT(S_OK==MemoryManagerDemonstration(heapLocal));
   ATLASSERT(S_OK==MemoryManagerDemonstration(heapGlobal));
   ATLASSERT(S_OK==MemoryManagerDemonstration(heapWin32));

   return 0;
}

Anforderungen

Kopfzeile: atlmem.h

IAtlMemMgr::Allocate

Rufen Sie diese Methode auf, um einen Speicherblock zu belegen.

void* Allocate(size_t nBytes) throw();

Parameter

nBytes
Die angeforderte Anzahl von Bytes im neuen Speicherblock.

Rückgabewert

Gibt einen Zeiger auf den Anfang des neu belegten Speicherblocks zurück.

Hinweise

Rufen Sie IAtlMemMgr::Free oder IAtlMemMgr::Reallocate auf, um den von dieser Methode zugewiesenen Speicher freizugeben.

Beispiel

Ein Beispiel finden Sie unter " IAtlMemMgr Overview".

IAtlMemMgr::Free

Rufen Sie diese Methode auf, um einen Speicherblock freizugeben.

void Free(void* p) throw();

Parameter

p
Ein Zeiger auf den Arbeitsspeicher, der zuvor von diesem Speicher-Manager zugeordnet wurde.

Hinweise

Verwenden Sie diese Methode, um Speicher freizugeben, der von IAtlMemMgr::Allocate or IAtlMemMgr::Reallocate abgerufen wird.

Beispiel

Ein Beispiel finden Sie unter " IAtlMemMgr Overview".

IAtlMemMgr::GetSize

Rufen Sie diese Methode auf, um die Größe eines zugeordneten Speicherblocks abzurufen.

size_t GetSize(void* p) throw();

Parameter

p
Ein Zeiger auf den Arbeitsspeicher, der zuvor von diesem Speicher-Manager zugeordnet wurde.

Rückgabewert

Gibt die Größe des Speicherblocks in Bytes zurück.

Beispiel

Ein Beispiel finden Sie unter " IAtlMemMgr Overview".

IAtlMemMgr::Reallocate

Rufen Sie diese Methode auf, um den von diesem Speicher-Manager zugeordneten Arbeitsspeicher neu zuzuordnen.

void* Reallocate(void* p, size_t nBytes) throw();

Parameter

p
Ein Zeiger auf den Arbeitsspeicher, der zuvor von diesem Speicher-Manager zugeordnet wurde.

nBytes
Die angeforderte Anzahl von Bytes im neuen Speicherblock.

Rückgabewert

Gibt einen Zeiger auf den Anfang des neu belegten Speicherblocks zurück.

Hinweise

Rufen Sie IAtlMemMgr::Free oder IAtlMemMgr::Reallocate auf, um den von dieser Methode zugewiesenen Speicher freizugeben.

Konzeptionell gibt diese Methode den vorhandenen Speicher frei und weist einen neuen Speicherblock zu. Tatsächlich kann der vorhandene Speicher erweitert oder anderweitig wiederverwendet werden.

Beispiel

Ein Beispiel finden Sie unter " IAtlMemMgr Overview".

IAxWinAmbientDispatch::get_AllowContextMenu

Die AllowContextMenu Eigenschaft gibt an, ob das gehostete Steuerelement sein eigenes Kontextmenü anzeigen darf.

STDMETHOD(get_AllowContextMenu)(VARIANT_BOOL* pbAllowContextMenu);

Parameter

pbAllowContextMenu
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_AllowShowUI

Die AllowShowUI Eigenschaft gibt an, ob das gehostete Steuerelement seine eigene Benutzeroberfläche anzeigen darf.

STDMETHOD(get_AllowShowUI)(VARIANT_BOOL* pbAllowShowUI);

Parameter

pbAllowShowUI
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_FALSE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_AllowWindowlessActivation

Die AllowWindowlessActivation Eigenschaft gibt an, ob der Container eine fensterlose Aktivierung zulässt.

STDMETHOD(get_AllowWindowlessActivation)(VARIANT_BOOL* pbAllowWindowless);

Parameter

pbAllowWindowless
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_BackColor

Die BackColor Eigenschaft gibt die Umgebungshintergrundfarbe des Containers an.

STDMETHOD(get_BackColor)(OLE_COLOR* pclrBackground);

Parameter

pclrBackground
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet COLOR_BTNFACE oder COLOR_WINDOW als Standardwert dieser Eigenschaft (je nachdem, ob das übergeordnete Element des Hostfensters ein Dialogfeld ist oder nicht).

IAxWinAmbientDispatch::get_DisplayAsDefault

DisplayAsDefault ist eine Umgebungseigenschaft, mit der ein Steuerelement herausfinden kann, ob es sich um das Standardsteuerelement handelt.

STDMETHOD(get_DisplayAsDefault)(VARIANT_BOOL* pbDisplayAsDefault);

Parameter

pbDisplayAsDefault
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_FALSE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_DocHostDoubleClickFlags

Die DocHostDoubleClickFlags Eigenschaft gibt den Vorgang an, der als Reaktion auf einen Doppelklick ausgeführt werden soll.

STDMETHOD(get_DocHostDoubleClickFlags)(DWORD* pdwDocHostDoubleClickFlags);

Parameter

pdwDocHostDoubleClickFlags
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet DOCHOSTUIDBLCLK_DEFAULT als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_DocHostFlags

Die DocHostFlags Eigenschaft gibt die Benutzeroberflächenfunktionen des Hostobjekts an.

STDMETHOD(get_DocHostFlags)(DWORD* pdwDocHostFlags);

Parameter

pdwDocHostFlags
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet DOCHOSTUIFLAG_NO3DBORDER als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_Font

Die Font Eigenschaft gibt die Umgebungsschriftart des Containers an.

STDMETHOD(get_Font)(IFontDisp** pFont);

Parameter

pFont
[out] Die Adresse eines IFontDisp Schnittstellenzeigers, der zum Empfangen des aktuellen Werts dieser Eigenschaft verwendet wird.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet die Standard-GUI-Schriftart oder die Systemschriftart als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_ForeColor

Die ForeColor Eigenschaft gibt die Umgebungs-Vordergrundfarbe des Containers an.

STDMETHOD(get_ForeColor)(OLE_COLOR* pclrForeground);

Parameter

pclrForeground
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet die Textfarbe des Systemfensters als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_LocaleID

Die LocaleID Eigenschaft gibt die Umgebungsgebietsschema-ID des Containers an.

STDMETHOD(get_LocaleID)(LCID* plcidLocaleID);

Parameter

plcidLocaleID
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet das Standardgebietsschema des Benutzers als Standardwert dieser Eigenschaft.

Mit dieser Methode können Sie die Ambient LocalID ermitteln, d. h. die LocaleID des Programms, in dem Ihr Steuerelement verwendet wird. Sobald Sie die LocaleID kennen, können Sie Code aufrufen, um gebietsschemaspezifische Beschriftungen, Fehlermeldungstext usw. aus einer Ressourcendatei oder Satelliten-DLL zu laden.

IAxWinAmbientDispatch::get_MessageReflect

Die MessageReflect Umgebungseigenschaft gibt an, ob der Container Nachrichten an das gehostete Steuerelement widerspiegelt.

STDMETHOD(get_MessageReflect)(VARIANT_BOOL* pbMessageReflect);

Parameter

pbMessageReflect
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::get_OptionKeyPath

Die OptionKeyPath Eigenschaft gibt den Registrierungsschlüsselpfad zu Den Benutzereinstellungen an.

STDMETHOD(get_OptionKeyPath)(BSTR* pbstrOptionKeyPath);

Parameter

pbstrOptionKeyPath
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

IAxWinAmbientDispatch::get_ShowGrabHandles

Mit ShowGrabHandles der Umgebungseigenschaft kann das Steuerelement herausfinden, ob es sich selbst mit Ziehpunkten zeichnen soll.

STDMETHOD(get_ShowGrabHandles)(VARIANT_BOOL* pbShowGrabHandles);

Parameter

pbShowGrabHandles
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung gibt immer VARIANT_FALSE als Wert dieser Eigenschaft zurück.

IAxWinAmbientDispatch::get_ShowHatching

Die ShowHatching Umgebungseigenschaft ermöglicht es dem Steuerelement herauszufinden, ob es sich selbst geschlüpft zeichnen soll.

STDMETHOD(get_ShowHatching)(VARIANT_BOOL* pbShowHatching);

Parameter

pbShowHatching
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung gibt immer VARIANT_FALSE als Wert dieser Eigenschaft zurück.

IAxWinAmbientDispatch::get_UserMode

Die UserMode Eigenschaft gibt den Umgebungsbenutzermodus des Containers an.

STDMETHOD(get_UserMode)(VARIANT_BOOL* pbUserMode);

Parameter

pbUserMode
[out] Die Adresse einer Variablen, die den aktuellen Wert dieser Eigenschaft empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_AllowContextMenu

Die AllowContextMenu Eigenschaft gibt an, ob das gehostete Steuerelement sein eigenes Kontextmenü anzeigen darf.

STDMETHOD(put_AllowContextMenu)(VARIANT_BOOL bAllowContextMenu);

Parameter

bAllowContextMenu
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_AllowShowUI

Die AllowShowUI Eigenschaft gibt an, ob das gehostete Steuerelement seine eigene Benutzeroberfläche anzeigen darf.

STDMETHOD(put_AllowShowUI)(VARIANT_BOOL bAllowShowUI);

Parameter

bAllowShowUI
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_FALSE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_AllowWindowlessActivation

Die AllowWindowlessActivation Eigenschaft gibt an, ob der Container eine fensterlose Aktivierung zulässt.

STDMETHOD(put_AllowWindowlessActivation)(VARIANT_BOOL bAllowWindowless);

Parameter

bAllowWindowless
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_BackColor

Die BackColor Eigenschaft gibt die Umgebungshintergrundfarbe des Containers an.

STDMETHOD(put_BackColor)(OLE_COLOR clrBackground);

Parameter

clrBackground
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet COLOR_BTNFACE oder COLOR_WINDOW als Standardwert dieser Eigenschaft (je nachdem, ob das übergeordnete Element des Hostfensters ein Dialogfeld ist oder nicht).

IAxWinAmbientDispatch::p ut_DisplayAsDefault

DisplayAsDefault ist eine Umgebungseigenschaft, mit der ein Steuerelement herausfinden kann, ob es sich um das Standardsteuerelement handelt.

STDMETHOD(put_DisplayAsDefault)(VARIANT_BOOL bDisplayAsDefault);

Parameter

bDisplayAsDefault
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_FALSE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_DocHostDoubleClickFlags

Die DocHostDoubleClickFlags Eigenschaft gibt den Vorgang an, der als Reaktion auf einen Doppelklick ausgeführt werden soll.

STDMETHOD(put_DocHostDoubleClickFlags)(DWORD dwDocHostDoubleClickFlags);

Parameter

dwDocHostDoubleClickFlags
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet DOCHOSTUIDBLCLK_DEFAULT als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_DocHostFlags

Die DocHostFlags Eigenschaft gibt die Benutzeroberflächenfunktionen des Hostobjekts an.

STDMETHOD(put_DocHostFlags)(DWORD dwDocHostFlags);

Parameter

dwDocHostFlags
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet DOCHOSTUIFLAG_NO3DBORDER als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_Font

Die Font Eigenschaft gibt die Umgebungsschriftart des Containers an.

STDMETHOD(put_Font)(IFontDisp* pFont);

Parameter

pFont
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet die Standard-GUI-Schriftart oder die Systemschriftart als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_ForeColor

Die ForeColor Eigenschaft gibt die Umgebungs-Vordergrundfarbe des Containers an.

STDMETHOD(put_ForeColor)(OLE_COLOR clrForeground);

Parameter

clrForeground
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet die Textfarbe des Systemfensters als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_LocaleID

Die LocaleID Eigenschaft gibt die Umgebungsgebietsschema-ID des Containers an.

STDMETHOD(put_LocaleID)(LCID lcidLocaleID);

Parameter

lcidLocaleID
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet das Standardgebietsschema des Benutzers als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_MessageReflect

Die MessageReflect Umgebungseigenschaft gibt an, ob der Container Nachrichten an das gehostete Steuerelement widerspiegelt.

STDMETHOD(put_MessageReflect)(VARIANT_BOOL bMessageReflect);

Parameter

bMessageReflect
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatch::p ut_OptionKeyPath

Die OptionKeyPath Eigenschaft gibt den Registrierungsschlüsselpfad zu Den Benutzereinstellungen an.

STDMETHOD(put_OptionKeyPath)(BSTR bstrOptionKeyPath);

Parameter

bstrOptionKeyPath
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

IAxWinAmbientDispatch::p ut_UserMode

Die UserMode Eigenschaft gibt den Umgebungsbenutzermodus des Containers an.

STDMETHOD(put_UserMode)(VARIANT_BOOL bUserMode);

Parameter

bUserMode
[in] Der neue Wert dieser Eigenschaft.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Die ATL-Hostobjektimplementierung verwendet VARIANT_TRUE als Standardwert dieser Eigenschaft.

IAxWinAmbientDispatchEx::SetAmbientDispatch

Diese Methode wird aufgerufen, um die Standardumgebungseigenschaftsschnittstelle mit einer benutzerdefinierten Schnittstelle zu ergänzen.

virtual HRESULT STDMETHODCALLTYPE SetAmbientDispatch(IDispatch* pDispatch) = 0;

Parameter

pDispatch
Zeiger auf die neue Schnittstelle.

Rückgabewert

S_OK bei Erfolg, ein HRESULT-Fehler bei einem Fehlschlag.

Hinweise

Wird SetAmbientDispatch diese neue Schnittstelle mit einem Zeiger auf eine neue Schnittstelle aufgerufen, wird diese neue Schnittstelle verwendet, um alle Eigenschaften oder Methoden aufzurufen, die vom gehosteten Steuerelement angefordert werden– wenn diese Eigenschaften nicht bereits von IAxWinAmbientDispatch bereitgestellt werden.

IAxWinHostWindow::AttachControl

Fügt ein vorhandenes (und zuvor initialisiertes) Steuerelement mithilfe des durch hWnd identifizierten Fensters an das Hostobjekt an.

STDMETHOD(AttachControl)(IUnknown* pUnkControl, HWND hWnd);

Parameter

pUnkControl
[in] Ein Zeiger auf die IUnknown Schnittstelle des Steuerelements, das an das Hostobjekt angefügt werden soll.

hWnd
[in] Ein Handle für das Fenster, das für das Hosting verwendet werden soll.

Rückgabewert

Ein HRESULT-Standardwert.

IAxWinHostWindow::CreateControl

Erstellt ein Steuerelement, initialisiert es und hostet es im fenster, das von hWnd identifiziert wird.

STDMETHOD(CreateControl)(
    LPCOLESTR lpTricsData,
    HWND hWnd,
    IStream* pStream);

Parameter

lpTricsData
[in] Eine Zeichenfolge, die das zu erstellende Steuerelement identifiziert. Kann eine CLSID (muss die geschweiften Klammern enthalten), ProgID, URL oder unformatierte HTML (präfixt durch MSHTML:).

hWnd
[in] Ein Handle für das Fenster, das für das Hosting verwendet werden soll.

pStream
[in] Ein Schnittstellenzeiger für einen Datenstrom, der Initialisierungsdaten für das Steuerelement enthält. Kann den Wert NULL haben.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Dieses Fenster wird von dem Hostobjekt unterklassigt, das diese Schnittstelle verfügbar gibt, sodass Nachrichten an das Steuerelement widergespiegelt werden können und andere Containerfeatures funktionieren.

Das Aufrufen dieser Methode entspricht dem Aufrufen von IAxWinHostWindow::CreateControlEx.

Informationen zum Erstellen eines lizenzierten ActiveX-Steuerelements finden Sie unter "IAxWinHostWindowLic::CreateControlLic".

IAxWinHostWindow::CreateControlEx

Erstellt ein ActiveX-Steuerelement, initialisiert es und hostet es im angegebenen Fenster, ähnlich wie IAxWinHostWindow::CreateControl.

STDMETHOD(CreateControlEx)(
    LPCOLESTR lpszTricsData,
    HWND hWnd,
    IStream* pStream,
    IUnknown** ppUnk,
    REFIID riidAdvise,
    IUnknown* punkAdvise);

Parameter

lpTricsData
[in] Eine Zeichenfolge, die das zu erstellende Steuerelement identifiziert. Kann eine CLSID (muss die geschweiften Klammern enthalten), ProgID, URL oder unformatierte HTML (präfixt mit MSHTML:).

hWnd
[in] Ein Handle für das Fenster, das für das Hosting verwendet werden soll.

pStream
[in] Ein Schnittstellenzeiger für einen Datenstrom, der Initialisierungsdaten für das Steuerelement enthält. Kann den Wert NULL haben.

ppUnk
[out] Die Adresse eines Zeigers, der die IUnknown Schnittstelle des erstellten Steuerelements empfängt. Kann den Wert NULL haben.

riidAdvise
[in] Der Schnittstellenbezeichner einer ausgehenden Schnittstelle für das enthaltene Objekt. Kann IID_NULL werden.

punkAdvise
[in] Ein Zeiger auf die IUnknown Schnittstelle des Sinkobjekts, das mit dem Verbindungspunkt des enthaltenen Objekts iidSinkverbunden werden soll.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

CreateControl Im Gegensatz zur Methode können Sie auch einen Schnittstellenzeiger auf das neu erstellte Steuerelement empfangen und eine Ereignissenke einrichten, um Ereignisse zu empfangen, CreateControlEx die vom Steuerelement ausgelöst werden.

Informationen zum Erstellen eines lizenzierten ActiveX-Steuerelements finden Sie unter "IAxWinHostWindowLicLic::CreateControlLicEx".

IAxWinHostWindow::QueryControl

Gibt den angegebenen Schnittstellenzeiger zurück, der vom gehosteten Steuerelement bereitgestellt wird.

STDMETHOD(QueryControl)(REFIID riid, void** ppvObject);

Parameter

riid
[in] Die ID einer Schnittstelle für das angeforderte Steuerelement.

ppvObject
[out] Die Adresse eines Zeigers, der die angegebene Schnittstelle des erstellten Steuerelements empfängt.

Rückgabewert

Ein HRESULT-Standardwert.

IAxWinHostWindow::SetExternalDispatch

Legt die externe dispinterface fest, die für enthaltene Steuerelemente über die IDocHostUIHandlerDispatch::GetExternal-Methode verfügbar ist.

STDMETHOD(SetExternalDispatch)(IDispatch* pDisp);

Parameter

pDisp
[in] Ein Zeiger auf eine IDispatch Schnittstelle.

Rückgabewert

Ein HRESULT-Standardwert.

IAxWinHostWindow::SetExternalUIHandler

Rufen Sie diese Funktion auf, um die externe IDocHostUIHandlerDispatch-Schnittstelle für das CAxWindow Objekt festzulegen.

STDMETHOD(SetExternalUIHandler)(IDocHostUIHandlerDispatch* pDisp);

Parameter

pDisp
[in] Ein Zeiger auf eine IDocHostUIHandlerDispatch Schnittstelle.

Rückgabewert

Ein HRESULT-Standardwert.

Hinweise

Diese Funktion wird von Steuerelementen (z. B. dem Webbrowser-Steuerelement) verwendet, die die Website des Hosts für die IDocHostUIHandlerDispatch Schnittstelle abfragen.

IAxWinHostWindowLic::CreateControlLic

Erstellt ein lizenziertes Steuerelement, initialisiert es und hostet es im durch hWnd.

STDMETHOD(CreateControlLic)(
    LPCOLESTR lpTricsData,
    HWND hWnd,
    IStream* pStream,
    BSTR bstrLic);

Parameter

bstrLic
[in] Der BSTR, der den Lizenzschlüssel für das Steuerelement enthält.

Hinweise

Eine Beschreibung der verbleibenden Parameter und des Rückgabewerts finden Sie unter "IAxWinHostWindow::CreateControl ".

Das Aufrufen dieser Methode entspricht dem Aufrufen von IAxWinHostWindowLic::CreateControlLicEx

Beispiel

Ein Beispiel, das verwendet, IAxWinHostWindowLic::CreateControlLicfinden Sie unter Hosten von ActiveX-Steuerelementen mit ATL AXHost.

IAxWinHostWindowLic::CreateControlLicEx

Erstellt ein lizenziertes ActiveX-Steuerelement, initialisiert es und hostet es im angegebenen Fenster, ähnlich wie IAxWinHostWindow::CreateControl.

STDMETHOD(CreateControlLicEx)(
    LPCOLESTR lpszTricsData,
    HWND hWnd,
    IStream* pStream,
    IUnknown** ppUnk,
    REFIID riidAdvise,
    IUnknown* punkAdvise,
    BSTR bstrLic);

Parameter

bstrLic
[in] Der BSTR, der den Lizenzschlüssel für das Steuerelement enthält.

Hinweise

Eine Beschreibung der verbleibenden Parameter und des Rückgabewerts finden Sie unter "IAxWinHostWindow::CreateControlEx" .

Beispiel

Ein Beispiel, das verwendet, IAxWinHostWindowLic::CreateControlLicExfinden Sie unter Hosten von ActiveX-Steuerelementen mit ATL AXHost.

Siehe auch

Klassenübersicht