Форум программистов, компьютерный форум CyberForum.ru

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

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Возврат по ссылке http://www.cyberforum.ru/cpp-beginners/thread1499161.html
Приветствую всех! Есть пример из книги Р. Лафоре "Объекто-ориентированное программирование в C++": #include <iostream> using namespace std; #include <process.h> const int LIMIT = 100; //---------------------------------------------------------------------------// //Определение класса Safearray
C++ Блинная сортировка массива, не сортируется последний элемент Товарищи офицеры. Прошу посмотреть мой код блинной сортировки для одномерного массива. Дело в том что он не сортирует последний элемент. Что ни делал-все напрастно. #include <iostream> #include<windows.h> #include <conio.h> #include <ctime> using namespace std; int main() {//pancakes //srand(time(0)); const int n=10; int arr,max=0,a=0; http://www.cyberforum.ru/cpp-beginners/thread1499104.html
C++ Ошибка: нарушение прав доступа при чтении по адресу
Код: #include <SFML/Graphics.hpp> int M = 3; int N = 3; int Scale = 100; int w = Scale*M; int h = Scale*N;
Непонятные определения макросов MFC Visual C++
Есть определение макроса: enum AFX_REG_FLAGS { afxRegDefault = 0x0000, afxRegInsertable = 0x0001, afxRegApartmentThreading = 0x0002, afxRegFreeThreading = 0x0004, }; из другого макроса вызывается параметр afxRegApartmentThreadin: // {1CCB6EAC-3853-4354-8CB2-E454C5B3AE15}
C++ Указатель в списке ссылается на себя, а не на следующий элемент http://www.cyberforum.ru/cpp-beginners/thread1499047.html
Уважаемые, форумчане! Помогите разобраться в вопросе. Я хочу реализовать стек(добавление элемента) на основе односвязного списка. Предварительно почитав как это делается, я решил а почему бы не сделать по другому, И начал изобретать велосепед, но он не едит, а еще страшнее я не поняимаю почуму. Ниже часть кода #include <iostream>
C++ Определить событие появления сообщения в программе Здравствуйте, необходимо написать программу, которая определяет момент появление ошибки в другом приложении (появляется окно с сообщением, по всей видимости WinAPI). Подскажите, в каком направлении смотреть, может кто-нибудь сталкивался с подобной задачей? подробнее

Показать сообщение отдельно
ninja2
230 / 186 / 7
Регистрация: 26.09.2012
Сообщений: 2,018
Завершенные тесты: 1

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

15.07.2015, 12:55. Просмотров 248. Ответов 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);
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 11:57. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru