_com_ptr_t-Klasse
Microsoft-spezifisch
Ein _com_ptr_t-Objekt kapselt einen COM-Schnittstellenzeiger und wird als "intelligenter" Zeiger bezeichnet. Diese Vorlagenklasse verwaltet die Zuordnung und Aufhebung der Zuordnung von Ressourcen mit Aufrufen der IUnknown-Memberfunktionen: QueryInterface, AddRef und Release.
Ein intelligenter Zeiger wird in der Regel durch die typedef-Definition verwiesen, die vom _COM_SMARTPTR_TYPEDEF-Makro bereitgestellt wird. Dieses Makro erwartet einen Schnittstellennamen und die IID und deklariert eine Spezialisierung von _com_ptr_t mit dem Namen der Schnittstelle sowie dem Suffix Ptr. Beispiel:
_COM_SMARTPTR_TYPEDEF(IMyInterface, __uuidof(IMyInterface));
deklariert die _com_ptr_t-Spezialisierung IMyInterfacePtr.
Ein Satz von Funktionsvorlagen, nicht Mitglieder dieser Vorlagenklasse, unterstützen Vergleiche mit einem intelligenten Zeiger auf der rechten Seite des Vergleichsoperators.
Konstruktion
Erstellt ein _com_ptr_t-Objekt. |
Vorgänge auf niedriger Stufe
Ruft die AddRef-Memberfunktion von IUnknown für den gekapselten Schnittstellenzeiger auf. |
|
Kapselt einen unformatierten Schnittstellenzeiger vom Typ dieses intelligenten Zeigers. |
|
Erstellt eine neue Instanz eines Objekts, dem ein CLSID oder ProgID übergeben wurde. |
|
Extrahiert den gekapselten Schnittstellenzeiger und gibt ihn zurück. |
|
Wird einer vorhandenen Instanz eines Objekts mit CLSID oder ProgID angefügt. |
|
Gibt den gekapselten Schnittstellenzeiger zurück. |
|
Ruft die QueryInterface-Memberfunktion von IUnknown für den gekapselten Schnittstellenzeiger auf. |
|
Ruft die Release-Memberfunktion von IUnknown für den gekapselten Schnittstellenzeiger auf. |
Operatoren
Weist einem vorhandenen _com_ptr_t-Objekt einen neuen Wert zu. |
|
Vergleichen Sie das intelligente Zeigerobjekt mit einem anderen intelligenten Zeiger, unformatierten Schnittstellenzeiger oder NULL. |
|
Extrahieren Sie den gekapselten COM-Schnittstellenzeiger. |
Anforderungen
Header: comip.h
Lib: comsuppw.lib oder comsuppwd.lib (Weitere Informationen finden Sie unter /Zc:wchar_t (wchar_t ist der systemeigene Typ).)