Класс 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 | Вызовите этот метод, чтобы вернуть файл cookie из CComGITPtr объекта. |
CComGITPtr::Revoke | Вызовите этот метод, чтобы удалить интерфейс из глобальной таблицы интерфейсов (GIT). |
Открытые операторы
Имя | Описание |
---|---|
CComGITPtr::operator DWORD | Возвращает файл cookie из CComGITPtr объекта. |
CComGITPtr::operator = | Оператор присвоения. |
Открытые члены данных
Имя | Описание |
---|---|
CComGitPtr::m_dwCookie | Файл cookie. |
Замечания
Объекты, агрегированные маршалер свободного потока и необходимые для использования указателей интерфейса, полученных от других объектов, должны выполнить дополнительные шаги, чтобы обеспечить правильность маршалирования интерфейсов. Как правило, это включает хранение указателей интерфейса в GIT и получение указателя из GIT при каждом использовании. CComGITPtr
Класс предоставляется для использования указателей интерфейса, хранящихся в GIT.
Примечание.
Глобальное средство таблицы интерфейсов доступно только в Windows 95 с DCOM версии 1.1 и более поздними версиями, Windows 98, Windows NT 4.0 с пакетом обновления 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, а затем очищаются.
CComGITPtr::~CComGITPtr
Деструктор
~CComGITPtr() throw();
Замечания
Удаляет интерфейс из глобальной таблицы интерфейсов (GIT), используя CComGITPtr::Revoke.
CComGITPtr::CopyTo
Вызовите этот метод, чтобы скопировать интерфейс из глобальной таблицы интерфейсов (GIT) в переданный указатель.
HRESULT CopyTo(T** pp) const throw();
Параметры
pp
Указатель, который требуется получить интерфейс.
Возвращаемое значение
Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.
Замечания
Интерфейс из GIT копируется в переданный указатель. Указатель должен быть освобожден вызывающим, если он больше не требуется.
CComGITPtr::D etach
Вызовите этот метод, чтобы отсоединить интерфейс от CComGITPtr
объекта.
DWORD Detach() throw();
Возвращаемое значение
Возвращает файл cookie из CComGITPtr
объекта.
Замечания
Для удаления интерфейса из GIT с помощью CComGitPtr::Revoke можно удалить вызывающий объект.
CComGITPtr::GetCookie
Вызовите этот метод, чтобы вернуть файл cookie из CComGITPtr
объекта.
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
Возвращает файл cookie, связанный CComGITPtr
с объектом.
operator DWORD() const;
Замечания
Файл cookie — это переменная, используемая для идентификации интерфейса и его расположения.
CComGITPtr::Revoke
Вызовите этот метод, чтобы удалить текущий интерфейс из глобальной таблицы интерфейсов (GIT).
HRESULT Revoke() throw();
Возвращаемое значение
Возвращает S_OK при успешном выполнении или ошибку HRESULT при сбое.
Замечания
Удаляет интерфейс из GIT.
См. также
Free Threaded Marshaler
Доступ к интерфейсам между квартирами
Когда следует использовать глобальную таблицу интерфейсов
Общие сведения о классе