CComGITPtr-Klasse

Diese Klasse stellt Methoden für den Umgang mit Schnittstellenzeigern und der globalen Schnittstellentabelle (GIT) bereit.

Syntax

template <class T>
class CComGITPtr

Parameter

T
Der Typ des Schnittstellenzeigers, der in git gespeichert werden soll.

Member

Öffentliche Konstruktoren

Name Beschreibung
CComGITPtr::CComGITPtr Der Konstruktor.
CComGITPtr::~CComGITPtr Der Destruktor.

Öffentliche Methoden

Name Beschreibung
CComGITPtr::Attach Rufen Sie diese Methode auf, um den Schnittstellenzeiger in der globalen Schnittstellentabelle (GIT) zu registrieren.
CComGITPtr::CopyTo Rufen Sie diese Methode auf, um die Schnittstelle aus der globalen Schnittstellentabelle (GIT) in den übergebenen Zeiger zu kopieren.
CComGITPtr::D etach Rufen Sie diese Methode auf, um die Zuordnung der Schnittstelle vom CComGITPtr Objekt zu trennen.
CComGITPtr::GetCookie Rufen Sie diese Methode auf, um das Cookie aus dem CComGITPtr Objekt zurückzugeben.
CComGITPtr::Revoke Rufen Sie diese Methode auf, um die Schnittstelle aus der globalen Schnittstellentabelle (GIT) zu entfernen.

Öffentliche Operatoren

Name Beschreibung
CComGITPtr::operator DWORD Gibt das Cookie aus dem CComGITPtr Objekt zurück.
CComGITPtr::operator = Zuweisungsoperator.

Öffentliche Datenmember

Name Beschreibung
CComGITPtr::m_dwCookie Das Cookie.

Hinweise

Objekte, die den freien Thread-Marshaler aggregieren und Schnittstellenzeiger verwenden müssen, die von anderen Objekten abgerufen werden, müssen zusätzliche Schritte ausführen, um sicherzustellen, dass die Schnittstellen ordnungsgemäß gemarstet werden. Dies umfasst in der Regel das Speichern der Schnittstellenzeiger in git und das Abrufen des Zeigers von git bei jeder Verwendung. Die Klasse CComGITPtr wird bereitgestellt, um Ihnen bei der Verwendung von Schnittstellenzeigern zu helfen, die in der GIT gespeichert sind.

Hinweis

Die Globale Schnittstellentabelleneinrichtung ist nur unter Windows 95 mit DCOM Version 1.1 und höher, Windows 98, Windows NT 4.0 mit Service Pack 3 und höher und Windows 2000 verfügbar.

Anforderungen

Kopfzeile: atlbase.h

CComGITPtr::Attach

Rufen Sie diese Methode auf, um den Schnittstellenzeiger in der globalen Schnittstellentabelle (GIT) zu registrieren.

HRESULT Attach(T* p) throw();

HRESULT Attach(DWORD dwCookie) throw();

Parameter

p
Der Schnittstellenzeiger, der der GIT hinzugefügt werden soll.

dwCookie
Das Cookie, das zum Identifizieren des Schnittstellenzeigers verwendet wird.

Rückgabewert

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

Hinweise

In Debugbuilds tritt ein Assertionsfehler auf, wenn die GIT nicht gültig ist oder das Cookie gleich NULL ist.

CComGITPtr::CComGITPtr

Der Konstruktor.

CComGITPtr() throw();
CComGITPtr(T* p);
CComGITPtr(const CComGITPtr& git);
explicit CComGITPtr(DWORD dwCookie) throw();
CComGITPtr(CComGITPtr&& rv);

Parameter

p
[in] Ein Schnittstellenzeiger, der in der globalen Schnittstellentabelle (GIT) gespeichert werden soll.

git
[in] Ein Verweis auf ein vorhandenes CComGITPtr Objekt.

dwCookie
[in] Ein Cookie, das zum Identifizieren des Schnittstellenzeigers verwendet wird.

Wohnmobil
[in] Das Quellobjekt CComGITPtr , aus dem Daten verschoben werden sollen.

Hinweise

Erstellt ein neues CComGITPtr Objekt, optional mithilfe eines vorhandenen CComGITPtr Objekts.

Der Konstruktor, der rv verwendet, ist ein Verschiebungskonstruktor. Die Daten werden aus der Quelle, rv und dann rv gelöscht.

CComGITPtr::~CComGITPtr

Der Destruktor.

~CComGITPtr() throw();

Hinweise

Entfernt die Schnittstelle aus der globalen Schnittstellentabelle (GIT) mithilfe von CComGITPtr::Revoke.

CComGITPtr::CopyTo

Rufen Sie diese Methode auf, um die Schnittstelle aus der globalen Schnittstellentabelle (GIT) in den übergebenen Zeiger zu kopieren.

HRESULT CopyTo(T** pp) const throw();

Parameter

PP
Der Zeiger, der die Schnittstelle empfängt.

Rückgabewert

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

Hinweise

Die Schnittstelle von GIT wird in den übergebenen Zeiger kopiert. Der Zeiger muss vom Aufrufer losgelassen werden, wenn er nicht mehr benötigt wird.

CComGITPtr::D etach

Rufen Sie diese Methode auf, um die Zuordnung der Schnittstelle vom CComGITPtr Objekt zu trennen.

DWORD Detach() throw();

Rückgabewert

Gibt das Cookie aus dem CComGITPtr Objekt zurück.

Hinweise

Es liegt bei dem Aufrufer, die Schnittstelle von git zu entfernen, indem CComGITPtr::Revoke verwendet wird.

CComGITPtr::GetCookie

Rufen Sie diese Methode auf, um das Cookie aus dem CComGITPtr Objekt zurückzugeben.

DWORD GetCookie() const;

Rückgabewert

Gibt das Cookie zurück.

Hinweise

Das Cookie ist eine Variable, die verwendet wird, um eine Schnittstelle und ihren Standort zu identifizieren.

CComGITPtr::m_dwCookie

Das Cookie.

DWORD m_dwCookie;

Hinweise

Das Cookie ist eine Membervariable, die verwendet wird, um eine Schnittstelle und ihren Standort zu identifizieren.

CComGITPtr::operator =

Der -Zuweisungsoperator.

CComGITPtr& operator= (T* p);
CComGITPtr& operator= (const CComGITPtr& git);
CComGITPtr& operator= (DWORD dwCookie);
CComGITPtr& operator= (CComGITPtr&& rv);

Parameter

p
[in] Ein Zeiger auf eine Schnittstelle.

git
[in] Ein Verweis auf ein CComGITPtr-Objekt.

dwCookie
[in] Ein Cookie, das zum Identifizieren des Schnittstellenzeigers verwendet wird.

Wohnmobil
[in] Die CComGITPtr Daten werden verschoben.

Rückgabewert

Gibt das aktualisierte Objekt zurück CComGITPtr .

Hinweise

Weist einem CComGITPtr Objekt einen neuen Wert zu, entweder aus einem vorhandenen Objekt oder aus einem Verweis auf eine globale Schnittstellentabelle.

CComGITPtr::operator DWORD

Gibt das dem CComGITPtr Objekt zugeordnete Cookie zurück.

operator DWORD() const;

Hinweise

Das Cookie ist eine Variable, die verwendet wird, um eine Schnittstelle und ihren Standort zu identifizieren.

CComGITPtr::Revoke

Rufen Sie diese Methode auf, um die aktuelle Schnittstelle aus der globalen Schnittstellentabelle (GIT) zu entfernen.

HRESULT Revoke() throw();

Rückgabewert

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

Hinweise

Entfernt die Schnittstelle von GIT.

Siehe auch

Free Threaded Marshaler
Zugreifen auf Schnittstellen über Wohnungen
Gründe für die Verwendung der globalen Schnittstellentabelle
Klassenübersicht