Форум программистов, компьютерный форум, киберфорум
C++: Сети
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/21: Рейтинг темы: голосов - 21, средняя оценка - 4.67
1 / 1 / 0
Регистрация: 22.12.2020
Сообщений: 140

Не работает get_StaticPortMappingCollection()

03.03.2022, 19:39. Показов 4095. Ответов 8
Метки с++ (Все метки)

Студворк — интернет-сервис помощи студентам
Я хочу использовать библиотеку natupnp.h для открытия портов но на строчке
C++
1
pnp -> get_StaticPortMappingCollection(&mappings)
программа виснет.
Upnp на роутере включен.
Код:
C++
1
2
3
4
5
6
7
8
9
10
11
#include <natupnp.h>
#include <cstdio>
 
int main()
{
    IUPnPNAT *pnp;
    IStaticPortMappingCollection *mappings;
    IStaticPortMapping *portMap;
    pnp -> get_StaticPortMappingCollection(&mappings);
    mappings -> Add(4453, L"TCP", 4453, L"192.168.1.107", true, L"port", &portMap);
}
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
03.03.2022, 19:39
Ответы с готовыми решениями:

Приложение работает в Debug, странно работает в Release и не работает при билде
Действия выполняются на эмуляторе Pixel 2. Android 9.0. Если я запускаю приложение с конфигурацией Debug, то всё в порядке. При запуске же...

Не работает SATA винт при загрузке ПК, а DVD без винта работает. На другом компе этот же винт работает
Здравствуйте. В системный блоке нем при загрузки Биос пишет: Advanced primary master HDD марка жесткого диска has been detected ...

Не работает клавиатура на ноутбуке, внешняя клавиатура частично не работает, экранная не работает
Добрый день! Не работает клавиатура на ноутбуке, внешняя клавиатура частично не работает, экранная не работает. Результат не могу ввести...

8
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
03.03.2022, 20:52
в коде инициализация переменной pnp где?
0
1 / 1 / 0
Регистрация: 22.12.2020
Сообщений: 140
04.03.2022, 06:21  [ТС]
6 строчка.
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
04.03.2022, 08:29
Цитата Сообщение от qwaz Посмотреть сообщение
6 строчка.
это определение, а не инициализация. внутри переменной pnp мусорное значение, а разыменование такого указателя ведёт к неопределённому поведению.
скорее всего, там не виснет, а падает, но может и виснуть, поведение-то не определено.
ищите в документации как создавать объекты типа IUPnPNAT.
0
1 / 1 / 0
Регистрация: 22.12.2020
Сообщений: 140
04.03.2022, 09:42  [ТС]
В документацию смотрел там про инициализацию ничего не сказаноhttps://docs.microsoft.com/en-... i/natupnp/
0
Любитель чаепитий
 Аватар для GbaLog-
3745 / 1801 / 566
Регистрация: 24.08.2014
Сообщений: 6,020
Записей в блоге: 1
04.03.2022, 10:47
Цитата Сообщение от qwaz Посмотреть сообщение
там про инициализацию ничего не сказано
ну здравый смысл-то должен подсказывать, что неинициализированный указатель использовать нельзя.
или как там значение появится, по волшебству?

двухминутный гуглёж показывает вот такой код:
C++
1
2
3
4
5
6
    HRESULT hr;
 
    IUPnPNAT* upnpnat;
    hr = CoCreateInstance (CLSID_UPnPNAT, NULL, CLSCTX_INPROC_SERVER, IID_IUPnPNAT, (void**)&upnpnat);
    if(FAILED(hr) || !upnpnat)
        return;
0
1 / 1 / 0
Регистрация: 22.12.2020
Сообщений: 140
04.03.2022, 10:58  [ТС]
Пробовал значение все равно остаеться пустым
0
 Аватар для Nishen
1357 / 856 / 365
Регистрация: 26.02.2015
Сообщений: 3,814
06.03.2022, 00:20
Лучший ответ Сообщение было отмечено qwaz как решение

Решение

Это сперва попробуй сделать
https://docs.microsoft.com/en-... initialize
1
1 / 1 / 0
Регистрация: 22.12.2020
Сообщений: 140
06.03.2022, 11:46  [ТС]
Сработало! Надо было добавить
C++
1
CoInitializeEx(NULL, COINIT_APARTMENTTHREADED);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
06.03.2022, 11:46
Помогаю со студенческими работами здесь

Мышь работает через раз, то есть запустил ОС - мышь не работает, перезагрузил - мышь работает
Установлена Windows 7 со всеми последними обновлениями. Все всегда замечательно работало. Но с недавних пор мышь стала работать через раз....

Через sublime text 3 и компилятор g++ работает, посоветовали скачать VS, не работает. Миниатюры
через sublime text 3 и компилятор g++ работает, посоветовали скачать VS, не работает.

Multimap STL - работает только запись в файл, поиск в файле не работает
И снова здравствуйте. Снова я прошу вашей помощи. Переделал программу с мапом в мульти мап, но что то пошло не так и работает только запись...

У клиента не работает роутер. У Меня дома работает. TRENDnet TEW-432BRP
Добрый день! У клиента установлен TRENDnet TEW-432BRP. Настроен для подключения к Beeline, но это не совсем важно. До определенного...

IE опять все портит, в 9 версии работает, а в остальных нет. не работает float
сайт http://gkantecreo.ru/ вверху в шапке слайдер в блоке div с css {float: left; padding-left: 15px;} везде прижат слева, а в...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Access
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru