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 からインターフェイスを削除します。
関連項目
フリー スレッド マーシャラー
アパートメント間のインターフェイスへのアクセス
グローバル インターフェイス テーブルを使用する場合
クラスの概要