Форум программистов, компьютерный форум, киберфорум
C/C++: WinAPI
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
Другие темы раздела
C++ WinAPI Что можно узнать по hWnd о контроле? Допустим я получил список всех кнопок в окне (на примере калькулятора), но как узнать при помощи SendMessage (или без него) какие из них активны, какие чебоксы нажаты? Это возможно? (сейчас уже почти час копаю http://msdn.microsoft.com/en-us/library/windows/desktop/ms644927(v=vs.85).aspx#system_defined , но ничего подходящего не нашел) ( https://www.cyberforum.ru/ win-api/ thread959662.html передать string в edit C++ WinAPI
вот не знаю как считанный файл передать в edit #include <iostream> #include <fstream> #include <string> #include <Windows.h> HINSTANCE hInstance; #define ID_Button1 3001 #define ID_Button2 3002
C++ WinAPI ShellExecute для открытия cmd Каким образом можно открыть через ShellExecute cmd и запустить в нём "ping *.ru -t"? Просто запустить отдельно ping.exe не пойдет, ибо при ctrl+c он закрывается, а не останавливается, допустим, так: ShellExecuteA(NULL, NULL, "ping", "*.ru -t", NULL, SW_SHOWNORMAL); https://www.cyberforum.ru/ win-api/ thread959526.html C++ WinAPI Вывести фигуру в клиентскую область окна Нужно вывести фигуру в клиентскую область окна при нажатий меню, не знаю как реализовать. https://www.cyberforum.ru/ win-api/ thread959432.html
построчно записать данные из фаила txt в listBox C++ WinAPI
На сервере есть фаил, с содержанием: первый второй третий четвертый пятый считаваю его в буффер: int URLgetpage(char *link, char *buffer, int maxsize) {
C++ WinAPI Как получить доступ к ресурсам? https://www.cyberforum.ru/ win-api/ thread959241.html
как найти доступ к ресурсу win32
C++ WinAPI PlaySound зависание прерывания Вообщем использую код для воспроизведения PlaySound(m_strSound, NULL, SND_ASYNC|SND_LOOP|SND_FILENAME); для прерывания PlaySound(NULL, 0, 0); все работает но после приблизительно тысячного или больше раза использования кода PlaySound(NULL, 0, 0) программой функция перестает нормально прерывать - звуковой файл прерывается но как бы зависает прерывание - появляется рипение, и это... https://www.cyberforum.ru/ win-api/ thread959204.html Удаление дерева каталогов со всеми файлами C++ WinAPI
Вопрос на выходные к настоящим программистам: Предложите алгоритм удаления каталога со всеми подкаталогами и файлами за один проход без создания временного массива. Очень жду дельных алгоритмов. Сам я так ничего стоящего и не придумал за неделю :( По этому прошу совета.
C++ WinAPI Анти-инжектор https://www.cyberforum.ru/ win-api/ thread958647.html
Доброго времени суток, пишу анти-инжектор, сам инжектор я уже написал, вот сейчас делаю dll, которая будет проверять использует ли процесс функцию VirtualFreeEx, но дело в том что почему-то определяется эта функция, если инжектор инжектиться сам в себя ( Cheat Engine инжектит в Cheat Engine ) эту dll...))) А если в другой инжектить, то почему-то не срабатывает... Возможно Вы найдете ошибку ?...
C++ WinAPI Как получить данные о температуре? https://www.cyberforum.ru/ win-api/ thread958089.html
Ребята, выручайте... Как получить данные о температуре или загрузки цп, озу и тд... Я пользуюсь Borland 6 c++ Builder, мне нужна или какаято функция или есть какойто компонент в борланде, или дайте хотя б какойто совет...
какая нужна библиотека для GetSystemMetrics? C++ WinAPI
5 IntelliSense: идентификатор "GetSystemMetrics" не определен
C++ WinAPI Обработка событий клавиатуры и мыши Я не могу найти ошибку в программе которая показывает, как можно получать информацию о событиях, генерируемых системой при нажатии клавиш клавиатуры или кнопки мыши. #include <windows.h> #include <windowsx.h> #include <string.h> #include <stdio.h> static int XVal = 10; static int YVal = 10; https://www.cyberforum.ru/ win-api/ thread958028.html
0 / 0 / 1
Регистрация: 01.02.2012
Сообщений: 11
0

Ошибка "0xC0000005: Access violation" при вызове LookupAccountName - C++ WinAPI - Ответ 5087257

22.09.2013, 23:52. Показов 2159. Ответов 4
Метки (Все метки)

Author24 — интернет-сервис помощи студентам
Здравствуйте.
Мне надо проверить права доступа к файлу для текущего пользователя. Написал класс CAccessChecker, который замечательно работает, вроде бы, но только под отладчиком VS2010 (запуск по F5). Только пытаюсь запустить приложение через командную строку, получаю ошибку "0xC0000005: Access violation". Пытаюсь тут же отладить, и вижу что она возникает ещё и в разных местах .

Я так понимаю, у меня память под какую-то структуру то-ли не выделяется правильно, то-ли не освобождается правильно. Например, чаще всего указанная ошибка выскакивает в этом методе:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
PSID CAccessChecker::GetCurrentUserSID()
{
    bool bRetVal = false;
    DWORD dwError;
 
    TCHAR           *wszUserName = GetCurrentUserName();
    DWORD           dwDomain = 0;
    DWORD           dwUserSID = 0;
    SID_NAME_USE    snuType = SidTypeUser;
    TCHAR           *wszDomain = nullptr;
    PSID            pUserSID = nullptr;
 
    // doing lookup first time to make sure that  buffer is sufficient
    bRetVal = ::LookupAccountName(
        NULL,
        wszUserName,
        pUserSID,
        &dwUserSID,
        wszDomain,
        &dwDomain,
        &snuType
        );
 
    if ( bRetVal == false )
    {
        dwError = GetLastError();
        if ( dwError != ERROR_INSUFFICIENT_BUFFER )
        {
            ERR_DISP::DisplayError( "CAccessChecker::GetCurrentUserSid", dwError );
        }
 
        pUserSID = HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, dwUserSID );
        if ( pUserSID == nullptr )
        {
            dwError = GetLastError();
            ERR_DISP::DisplayError( "CAccessChecker::GetCurrentUserSid", dwError );
        }
 
        wszDomain = (TCHAR*)HeapAlloc( GetProcessHeap(), HEAP_ZERO_MEMORY, dwDomain * sizeof( TCHAR) );
        if ( wszDomain == nullptr )
        {
            dwError = GetLastError();
            ERR_DISP::DisplayError( "CAccessChecker::GetCurrentUserSid", dwError );
        }
 
        // doing lookup second time (after memory allocation) give us user SID
        bRetVal = ::LookupAccountName(
            NULL,
            wszUserName,
            pUserSID,
            &dwUserSID,
            wszDomain,
            &dwDomain,
            &snuType
            );
 
        if ( bRetVal == false )
        {
            if ( pUserSID == nullptr )
            {
                dwError = GetLastError();
                ERR_DISP::DisplayError( "CAccessChecker::GetCurrentUserSid", dwError );
            }
 
            if ( wszDomain == nullptr )
            {
                dwError = GetLastError();
                ERR_DISP::DisplayError( "CAccessChecker::GetCurrentUserSid", dwError );
            }
            return nullptr;
        }
    }
 
    if ( wszDomain != nullptr )
    {
        HeapFree( GetProcessHeap(), 0, wszDomain );
        wszDomain = NULL;
    }
 
    return pUserSID;
}
Ошибка при первом вызове LookupAccountName. Помогите, пожалуйста, разобраться что к чему. Если надо, выложу другие части кода.

Вернуться к обсуждению:
Ошибка "0xC0000005: Access violation" при вызове LookupAccountName C++ WinAPI
0
Заказать работу у эксперта
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
22.09.2013, 23:52
Готовые ответы и решения:

0xC0000005: Access violation reading location 0x0012A01C. Не понимаю что за ошибка
Код компилируется, но скорее всего ошибка в передаче данных вот здесь: void vik() { ...

Ошибка Unhandled exception at 0x001EB509 in Gauss1.exe: 0xC0000005: Access violation reading location 0xCCCCCCD4
Программа должна генерировать и выводить на экран матрицу n x n. Однако, вылетает исключение:...

Ошибка: Unhandled exception at 0x772115de in TimeShift.exe: 0xC0000005: Access violation reading location 0x00041000.
всем привет! При использовании двумерного массива постоянно появляется ошибка :Unhandled exception...

Access violation при вызове mysql_errno
День добрый!!! Столкнулся с проблемой при вызове функции mysql_errno(). #include &lt;vcl.h&gt;...

4
22.09.2013, 23:52
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
22.09.2013, 23:52
Помогаю со студенческими работами здесь

"0xC0000005: Access violation reading location" при запуске
Не компилируется #include &lt;iostream&gt; #include &lt;cstring&gt; #include &lt;cctype&gt; using...

exception : 0xC0000005: Access Violation
Разработка идет по windows mobile 6. Возникла необходимость в определенном случае менять данные в...

0xC0000005: Access violation writing location
Пытаюсь запустить стороннее приложение таким кодом: PROCESS_INFORMATION P_I; STARTUPINFO S_I; ...

0xC0000005: Access violation writing location 0xFDFDFE11
ошибка, вылетает после запуска программы. Exception thrown at 0x013E1C0A in массивы.exe:...

Unhandled exception at 0x0F73DF62 | 0xC0000005: Access violation writing location
Многоуважаемые форумчане, необходима небольшая консультация по следующему коду: ...

Структура "Список", Access Violation при вызове функции
не могу найти ошибку в коде. программа реализует стандартные операции с односвязным списком...

Access violation при вызове конструктора
Здравствуйте! У меня при вызове конструктора возникает ошибка. Access violation at adress...

0
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru