Форум программистов, компьютерный форум, киберфорум
Наши страницы

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
ninja2
814 / 188 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1
#1

Код, который проверяет есть ли в регистре идентификатор GUID - как он работает? - C++

15.07.2015, 12:55. Просмотров 326. Ответов 2
Метки нет (Все метки)

Есть код который как бы проверяет есть ли в регистре идентификатор GUID или нет, вот он:
C++
1
2
3
4
5
6
hr=HRESULT;
CLSID clsid;
if ((hr = ::CLSIDFromProgID(L"MyComDll", &clsid)) != NOERROR) {
        TRACE("unable to find Program ID -- error = %x\n", hr);
        return;
    }
Не ясно как он работает, он не просто проверяет, он в переменную GUID clsid, по ссылке передает GUID зарегистрированного объекта.
Что эта функция должна вернуть и как оно присваивается hr? Я вообще этот макрос HRESULT никак не пойму что это, это что функция которая возвращает булево значение?

Получается от такая штука:
C++
1
2
3
4
5
6
hr=__success(return >= 0);
GUID clsid;
if ((hr = ::CLSIDFromProgID(L"MyComDll", &clsid)) != NOERROR) {
        TRACE("unable to find Program ID -- error = %x\n", hr);
        return;
    }
и что это выходит? Мы функции присваиваем какое то значение?
определение __success:
C++
1
#define __success(expr)          __allowed(on_function_or_typedecl)
Ничего не ясно что здесь происходит и как использовать это. Или просто использовать как конструкцию та и все?

Добавлено через 24 минуты
в определении функции написано что это /* other helpers */
типо вспомогательные функции или что?, вот ее определение:
C++
1
__checkReturn WINOLEAPI IIDFromString(__in LPCOLESTR lpsz, __out LPIID lpiid);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.07.2015, 12:55
Я подобрал для вас темы с готовыми решениями и ответами на вопрос Код, который проверяет есть ли в регистре идентификатор GUID - как он работает? (C++):

Есть следующий код как он работает, кто может объяснить подробнее - C++
Сам я дельфист. Знатоки С++ есть массив следующий: const uint8_t Font = { { 0x00, 0x00, 0x00, 0x00, 0x00 }, // 0x20 ...

нужнен скрипт,который проверяет,есть ли на 0 строке в фаиле-базе что-то - PHP
нужнен скрипт,который проверяет,есть ли на 0 строке в фаиле-базе что-то.если есть выполняется одно деиствие, если нет,то ничего не...

Написать код, который проверяет знание таблицы умножения - JavaScript
Помогите, очень буду благодарен, написать код на Java Script. Зарание спасибо большое! Написать код, который проверяет знание таблицы...

Есть ли в VBA оператор, который работает как VLOOKUP ну или Index и Match? - VBA
Всем здрасти! Простенький вопросик, есть ли в VBA оператор, который работает как VLOOKUP ну или Index и Match? А может процедурка...

Есть код на паскале, нужно понять, как он работает - Turbo Pascal
я не могу понять алгоритм программы разбиение числа n на k слагаемых например, нужно разбить число 17 на 10 слагаемых, так, чтобы...

Есть код, который не компилируется в онлайн-компиляторе - C++
Прошу помочь скомпилировать код, т.к на ideone.com он не работает, а установить билдер - нет возможности, если можно, пришлите скриншот,...

2
rikimaru2013
C++ Game Dev
2471 / 1140 / 241
Регистрация: 30.11.2013
Сообщений: 3,709
15.07.2015, 12:58 #2
C++
1
идентификатор GUID
так я где-то слышал, что он практически уникален. Им то и пользуется, потому что встретить такой же в мире крайне редко можно
0
vxg
Модератор
3222 / 2025 / 231
Регистрация: 13.01.2012
Сообщений: 7,852
15.07.2015, 14:21 #3
Цитата Сообщение от ninja2 Посмотреть сообщение
Не ясно как он работает
не пишите все в одну строку и будет ясно. и вообще не ясно что это за язык. должно быть как то так
C++
1
2
3
4
5
6
HRESULT hr; //теперь у нас есть hr с типом HRESULT
CLSID clsid; //теперь у нас есть clsid с типом CLSID 
hr = ::CLSIDFromProgID(L"MyComDll", &clsid); //теперь мы просим систему найти для нас clsid по заданному ProgID
if (FAILED(hr)) { //если функция отработала с ошибкой делаем что то
        return;
    }
1
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
15.07.2015, 14:21
Привет! Вот еще темы с ответами:

Создание скрипта, который запишет в таблицу 10 млн записей с Guid - SQL Server
Помогите создать на SQL такой скрипт, который запишет в таблицу 10 млн записей с Guid.

Есть код который производит поиск файлов по диапазону размеров - Python
Есть код который производит поиск файлов по диапазону размеров, но есть 2 проблемы не выполняет рекурсивный поиск + не работает код: ...

Есть один листинг программы который нужно запустить и скомпилировать!(код не мой). - Delphi
Вообщем скачал с inet листинг программы на Delphi и как вы уже догадались не смог с ним разобраться, так как новичок в этом деле.созданием...

Подскажите способ преобразования GUID строчки в GUID тип - Visual Basic
Создать GUID и преобразовать в строку легко, а как сделать обратно?


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru