共用方式為


CComGITPtr 類別

這個類別提供處理介面指標和全域介面資料表的方法(GIT)。

語法

template <class T>
class CComGITPtr

參數

T
要儲存在 GIT 中的介面指標類型。

成員

公用建構函式

名稱 描述
CComGITPtr::CComGITPtr 建構函式。
CComGITPtr::~CComGITPtr 解構函式。

公用方法

名稱 描述
CComGITPtr::Attach 呼叫這個方法,以在全域介面資料表中註冊介面指標(GIT)。
CComGITPtr::CopyTo 呼叫這個方法,將介面從全域介面資料表 (GIT) 複製到傳遞的指標。
CComGITPtr::D etach 呼叫這個方法,將 介面與 CComGITPtr 物件解除關聯。
CComGITPtr::GetCookie 呼叫這個方法以從 CComGITPtr 物件傳回 Cookie。
CComGITPtr::Revoke 呼叫這個方法,以從全域介面資料表 (GIT) 移除介面。

公用運算子

名稱 描述
CComGITPtr::operator DWORD CComGITPtr 物件傳回 Cookie。
CComGITPtr::operator = 指派運算子。

公用資料成員

名稱 描述
CComGITPtr::m_dwCookie Cookie。

備註

匯總自由執行緒封送處理器且需要使用從其他物件取得的介面指標的物件,必須採取額外的步驟,以確保正確封送處理介面。 這通常牽涉到將介面指標儲存在 GIT 中,並在每次使用 GIT 時從 GIT 取得指標。 提供 類別 CComGITPtr 可協助您使用儲存在 GIT 中的介面指標。

注意

全域介面資料表功能僅適用于 Windows 95 DCOM 1.1 版和更新版本、Windows 98、Windows NT 4.0 Service Pack 3 和更新版本,以及 Windows 2000。

需求

標頭: atlbase.h

CComGITPtr::Attach

呼叫這個方法,以在全域介面資料表中註冊介面指標(GIT)。

HRESULT Attach(T* p) throw();

HRESULT Attach(DWORD dwCookie) throw();

參數

p
要新增至 GIT 的介面指標。

dwCookie
用來識別介面指標的 Cookie。

傳回值

傳回成功時S_OK,或在失敗時傳回錯誤 HRESULT。

備註

在偵錯組建中,如果 GIT 無效,或 Cookie 等於 Null,就會發生判斷提示錯誤。

CComGITPtr::CComGITPtr

建構函式。

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

參數

p
[in]要儲存在全域介面資料表 (GIT) 中的介面指標。

Git
[in]現有 CComGITPtr 物件的參考。

dwCookie
[in]用來識別介面指標的 Cookie。

Rv
[in]要從中移動資料的來源 CComGITPtr 物件。

備註

使用現有的 CComGITPtr 物件,選擇性地建立新的 CComGITPtr 物件。

使用 rv 建構函式是移動建構函式。 資料會從來源 rv 移動,然後 清除 rv

CComGITPtr::~CComGITPtr

解構函式。

~CComGITPtr() throw();

備註

使用 CComGITPtr::Revoke 從全域介面資料表移除介面。

CComGITPtr::CopyTo

呼叫這個方法,將介面從全域介面資料表 (GIT) 複製到傳遞的指標。

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

參數

Pp
要接收介面的指標。

傳回值

傳回成功時S_OK,或在失敗時傳回錯誤 HRESULT。

備註

GIT 中的介面會複製到傳遞的指標。 不再需要指標時,呼叫端必須釋放指標。

CComGITPtr::D etach

呼叫這個方法,將 介面與 CComGITPtr 物件解除關聯。

DWORD Detach() throw();

傳回值

CComGITPtr 物件傳回 Cookie。

備註

呼叫端可以使用 CComGITPtr::Revoke 從 GIT 移除介面。

CComGITPtr::GetCookie

呼叫這個方法以從 CComGITPtr 物件傳回 Cookie。

DWORD GetCookie() const;

傳回值

傳回 Cookie。

備註

Cookie 是用來識別介面及其位置的變數。

CComGITPtr::m_dwCookie

Cookie。

DWORD m_dwCookie;

備註

Cookie 是用來識別介面及其位置的成員變數。

CComGITPtr::operator =

指派運算子。

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

參數

p
[in]介面的指標。

Git
[in]物件的參考 CComGITPtr

dwCookie
[in]用來識別介面指標的 Cookie。

Rv
[in] CComGITPtr 要從中移動資料的 。

傳回值

傳回更新 CComGITPtr 的物件。

備註

從現有物件或全域介面資料表的參考,將新的值指派給 CComGITPtr 物件。

CComGITPtr::operator DWORD

傳回與 CComGITPtr 物件相關聯的 Cookie。

operator DWORD() const;

備註

Cookie 是用來識別介面及其位置的變數。

CComGITPtr::Revoke

呼叫這個方法,以從全域介面資料表 (GIT) 移除目前的介面。

HRESULT Revoke() throw();

傳回值

傳回成功時S_OK,或在失敗時傳回錯誤 HRESULT。

備註

從 GIT 移除 介面。

另請參閱

免費執行緒封送處理器
跨 Apartment 存取介面
使用全域介面資料表的時機
類別概觀