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