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 移除 介面。