CComGITPtr クラス

このクラスにより、インターフェイス ポインターとグローバル インターフェイス テーブル (GIT) を処理するためのメソッドが提供されます。

構文

template <class T>
class CComGITPtr

パラメーター

T
GIT に格納されるインターフェイス ポインターの型。

メンバー

パブリック コンストラクター

名前 説明
CComGITPtr::CComGITPtr コンストラクター。
CComGITPtr::~CComGITPtr デストラクター。

パブリック メソッド

名前 説明
CComGITPtr::Attach グローバル インターフェイス テーブル (GIT) にインターフェイス ポインターを登録するには、このメソッドを呼び出します。
CComGITPtr::CopyTo インターフェイスを、グローバル インターフェイス テーブル (GIT) から、渡されたポインターにコピーするには、このメソッドを呼び出します。
CComGITPtr::Detach CComGITPtr オブジェクトからインターフェイスの関連付けを解除するには、このメソッドを呼び出ます。
CComGITPtr::GetCookie CComGITPtr オブジェクトからトークン グループを返すには、このメソッドを呼び出します。
CComGITPtr::Revoke グローバル インターフェイス テーブル (GIT) からインターフェイスを削除するには、このメソッドを呼び出します。

パブリック演算子

名前 説明
CComGITPtr::operator DWORD CComGITPtr オブジェクトからクッキーを返します。
CComGITPtr::operator = 代入演算子。

パブリック データ メンバー

名前 説明
CComGITPtr::m_dwCookie クッキー。

解説

フリー スレッド マーシャラーを集計し、他のオブジェクトから取得したインターフェイス ポインターを使用する必要があるオブジェクトは、インターフェイスが確実に正しくマーシャリングされるようにするために、追加の手順を行う必要があります。 通常、これには、インターフェイス ポインターを GIT に格納し、使用されるたびに GIT からポインターを取得することが含まれます。 クラス CComGITPtr は、GIT に格納されているインターフェイス ポインターを使用するために提供されます。

Note

グローバル インターフェイス テーブル機能は、DCOM バージョン 1.1 以降が搭載されている Windows 95、Windows 98、Service Pack 3 以降を適用した Windows NT 4.0、Windows 2000 のみで使用できます。

必要条件

ヘッダー: atlbase.h

CComGITPtr::Attach

グローバル インターフェイス テーブル (GIT) にインターフェイス ポインターを登録するには、このメソッドを呼び出します。

HRESULT Attach(T* p) throw();

HRESULT Attach(DWORD dwCookie) throw();

パラメーター

P
GIT に追加するインターフェイス ポインター。

dwCookie
インターフェイス ポインターを識別するために使用されるクッキー。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

デバッグ ビルドでは、GIT が無効な場合、またはクッキーが NULL に等しい場合、アサーション エラーが発生します。

CComGITPtr::CComGITPtr

コンストラクター。

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

パラメーター

P
[入力] グローバル インターフェイス テーブル (GIT) に格納されるインターフェイス ポインター。

git
[入力] 既存のオブジェクトへの CComGITPtr 参照。

dwCookie
[入力] インターフェイス ポインターを識別するために使用されるクッキー。

rv
[入力] データの移動元のソース CComGITPtr オブジェクト。

解説

必要に応じて、既存の CComGITPtr オブジェクトを使用して新しい CComGITPtr オブジェクトを作成します。

rv を利用するコンストラクターは、移動コンストラクターです。 データがソースの rv から移動された後、rv がクリアされます。

CComGITPtr::~CComGITPtr

デストラクター。

~CComGITPtr() throw();

解説

CComGITPtr::Revoke を使用して、グローバル インターフェイス テーブル (GIT) からインターフェイスを削除します。

CComGITPtr::CopyTo

インターフェイスを、グローバル インターフェイス テーブル (GIT) から、渡されたポインターにコピーするには、このメソッドを呼び出します。

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

パラメーター

pp
インターフェイスを受け取るポインター。

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

GIT のインターフェイスは、渡されたポインターにコピーされます。 ポインターは、不要になったときに呼び出し元により解放される必要があります。

CComGITPtr::Detach

CComGITPtr オブジェクトからインターフェイスの関連付けを解除するには、このメソッドを呼び出ます。

DWORD Detach() throw();

戻り値

CComGITPtr オブジェクトからクッキーを返します。

解説

呼び出し元が、CComGITPtr::Revoke を使用して、GIT からインターフェイスを削除する必要があります。

CComGITPtr::GetCookie

CComGITPtr オブジェクトからトークン グループを返すには、このメソッドを呼び出します。

DWORD GetCookie() const;

戻り値

クッキーを返します。

解説

クッキーは、インターフェイスとその場所を識別するために使用される変数です。

CComGITPtr::m_dwCookie

クッキー。

DWORD m_dwCookie;

解説

クッキーは、インターフェイスとその場所を識別するために使用されるメンバー変数です。

CComGITPtr::operator =

代入演算子。

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

パラメーター

P
[入力] インターフェイスへのポインター。

git
[入力] CComGITPtr オブジェクトへの参照

dwCookie
[入力] インターフェイス ポインターを識別するために使用されるクッキー。

rv
[入力] データの移動元の CComGITPtr

戻り値

更新された CComGITPtr オブジェクトを返します。

解説

既存のオブジェクトから、またはグローバル インターフェイス テーブルへの参照から、CComGITPtr オブジェクトに新しい値を割り当てます。

CComGITPtr::operator DWORD

CComGITPtr オブジェクトに関連付けられているクッキーを返します。

operator DWORD() const;

解説

クッキーは、インターフェイスとその場所を識別するために使用される変数です。

CComGITPtr::Revoke

グローバル インターフェイス テーブル (GIT) から現在のインターフェイスを削除するには、このメソッドを呼び出します。

HRESULT Revoke() throw();

戻り値

成功した場合は S_OK、失敗した場合はエラー HRESULT を返します。

解説

GIT からインターフェイスを削除します。

関連項目

フリー スレッド マーシャラー
アパートメント間のインターフェイスへのアクセス
グローバル インターフェイス テーブルを使用する場合
クラスの概要