Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Примечание.
Библиотека активных шаблонов (ATL) продолжает поддерживаться. Однако мы больше не добавляем функции или обновляем документацию.
Этот класс предоставляет методы для работы с указателями интерфейса и глобальной таблицей интерфейсов (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
Доступ к интерфейсам между квартирами
Когда следует использовать глобальную таблицу интерфейсов
Общие сведения о классе