7 / 7 / 2
Регистрация: 19.06.2013
Сообщений: 174
1

IUnknown :: AddR()

11.05.2014, 23:47. Показов 1330. Ответов 4
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
В чем смысл данной функции?
Я сейчас пробежался в дебаггере: объект получает новую ссылку, после вызова функции Release() значение ссылки не меняется...
Не понятно для чего нужна функция AddRef()... просто дать другой адрес объекту? Но для чего!?!?
Подскажите, пожалуйста! =)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
11.05.2014, 23:47
Ответы с готовыми решениями:

Как получить пиксель из IUnknown::ID2D1Bitmap?
Всем привет! Проблема такая: У меня есть указатель на битмап типа IUnknown::ID2D1Bitmap:...

visual studio 2008 c++ перевести IUnknown** переменную в IUnknown*
Как перевести IUnknown** переменную в IUnknown* ? Помогите пожалуйста.

Что означает запись (struct addr *)&one
Что означает тринадцатая строчка в коде? #include <iostream> using namespace std; int main() {...

Не могу исправить ошибку :113 H:\Dev-Cpp\Проекты\уроки\Безымянный3.cpp cannot convert `IDirectDraw7**' to `IDirectDraw**' for argument `2' to `HRESULT DirectDrawCreate(GUID*, IDirectDraw**, IUnknown*)
Недавно начал изучать оконные программы и работу с DirectX. Но при написании программы столкнулся...

4
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
11.05.2014, 23:52 2
AddRef() должна увеличивать счетчик ссылок
0
7 / 7 / 2
Регистрация: 19.06.2013
Сообщений: 174
12.05.2014, 00:07  [ТС] 3
Цитата Сообщение от Jupiter Посмотреть сообщение
AddRef() должна увеличивать счетчик ссылок
Это понятно, но зачем плодить ссылки на один и тот же объект???
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
12.05.2014, 00:19 4
Лучший ответ Сообщение было отмечено Divergence как решение

Решение

Цитата Сообщение от Divergence Посмотреть сообщение
Это понятно, но зачем плодить ссылки на один и тот же объект???
а зачем вообще программировать? надо - создали ссылку.
один и тот же COM-объект может использоваться несколькими клиентами процессами одновременно, подсчет ссылок введен для того что бы контролировать время жизни объекта, клиент вызвавший Release говорит серверу что объект ему больше не нужен. сервер же, если видит что количество клиентов счетчик ссылок == 0, может удалить объект.
1
7 / 7 / 2
Регистрация: 19.06.2013
Сообщений: 174
12.05.2014, 00:27  [ТС] 5
Цитата Сообщение от Jupiter Посмотреть сообщение
а зачем вообще программировать? надо - создали ссылку.
один и тот же COM-объект может использоваться несколькими клиентами процессами одновременно, подсчет ссылок введен для того что бы контролировать время жизни объекта, клиент вызвавший Release говорит серверу что объект ему больше не нужен. сервер же, если видит что количество клиентов счетчик ссылок == 0, может удалить объект.
Спасибо огромное! Я теперь понял!
Лучший ответ! =)
0
12.05.2014, 00:27
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
12.05.2014, 00:27
Помогаю со студенческими работами здесь

IUnknown IDispatch - что это такое
Люди объясните что это такое IUnknown и IDispatch!!! С IUnknown еще более-мение разобрался при...

компилятор ругается на @ и ADDR
здравствуйте , подскажите кто-нибудь ,в чём может быть причина ,что паскаль внезапно начал...

Ошибка Unused variable 'addr'
import socket def main(): s = socket.socket(socket.AF_INET, socket.SOCK_STREAM, 0) ...

Появились имена in-addr.arpa
Просканировал свою сеть, почему то появился apache на каждом обычном компе, я их не ставил, и стали...

Ошибка Access violation at addr. во время работы приложения на Android
Уважаемые форумчяне, может ли кто нибудь подсказать мне о причинах и методах борьбы со следующей...

Функция должна вывести cnt битов, расположенных в памяти, начиная с адреса addr
дана функция: void dump(void* addr, int cnt); Функция должна вывести cnt битов, расположенных в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

Новые блоги и статьи
Интеграция Arduino и ChatGPT: Практическое руководство
InfoMaster 16.01.2025
В современную эпоху технологических инноваций интеграция искусственного интеллекта с микроконтроллерами открывает принципиально новые возможности для создания умных устройств и автоматизированных. . .
Как создать робота, управляемого ChatGPT
InfoMaster 16.01.2025
Концепция проекта В современную эпоху искусственный интеллект и робототехника становятся все более доступными для энтузиастов и разработчиков. Создание роботизированной руки, управляемой ChatGPT,. . .
Как создать ChatGPT бота в Telegram на Python
InfoMaster 16.01.2025
В современном мире технологии искусственного интеллекта становятся все более доступными для разработчиков, открывая новые возможности для создания умных и интерактивных приложений. Одним из самых. . .
Машинное обучение с помощью Python
InfoMaster 16.01.2025
Машинное обучение стало неотъемлемой частью современных технологий, позволяя компьютерам учиться на основе данных и принимать решения без явного программирования. В сочетании с языком. . .
Использование связки C# и PHP в корпоративной разработке и микросервисной архитектуре
InfoMaster 16.01.2025
Введение в интеграцию C# и PHP В современной корпоративной разработке все чаще возникает потребность в создании гибких и масштабируемых решений, способных эффективно решать широкий спектр. . .
Как использовать Kerio дома для управления сетью и пользователями
InfoMaster 16.01.2025
Использование технологий для улучшения повседневной жизни стало неотъемлемой частью современного быта. Одной из таких технологий является Kerio — мощный инструмент для управления сетью и. . .
Есть ли будущее у DVD и Blu-ray?
InfoMaster 16.01.2025
В эпоху стремительного развития цифровых технологий и повсеместного распространения потоковых сервисов вопрос о будущем физических носителей информации становится все более актуальным. Особенно остро. . .
Как проводить научные вычисления на Python
InfoMaster 15.01.2025
Python стал одним из наиболее востребованных языков программирования в области научных вычислений благодаря своей простоте, гибкости и обширной экосистеме специализированных библиотек. Научные. . .
Создание игры типа Minecraft на PyGame/Python: пошаговое руководство
InfoMaster 15.01.2025
В данном руководстве мы рассмотрим процесс создания игры в стиле Minecraft с использованием библиотеки PyGame на языке программирования Python. Этот проект идеально подходит как для начинающих. . .
Как создать свою первую игру в стиле Doom на Unreal Engine
InfoMaster 15.01.2025
Разработка шутера от первого лица в стиле классического Doom представляет собой увлекательное путешествие в мир игрового программирования, где сочетаются творческий подход и технические навыки. . . .
Параллельное программировани­е: основные технологии и принципы
InfoMaster 15.01.2025
Введение в параллельное программирование Параллельное программирование представляет собой фундаментальный подход к разработке программного обеспечения, который позволяет одновременно выполнять. . .
Как написать микросервис на C# с Kafka, MediatR, Redis и GitLab CI/CD
InfoMaster 15.01.2025
В современной разработке программного обеспечения микросервисная архитектура стала стандартом де-факто для создания масштабируемых и гибких приложений. Этот подход позволяет разделить сложную систему. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru