Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > C/C++: Системное программирование и WinAPI > Список сервисов windows


Автор: Ksen 27.4.2011, 23:25
Здравствуйте!
Подскажите, пожалуйста, как правильно оформить функцию? Необходимо, чтобы  EnumServicesStatusEx формировала список сервисов, а указатель на этот список возвращался. В дальнейшем я хочу использовать этот указатель в другом месте...чтобы вывести этот список сервисов

есть вот такой вот код
Код

#include "stdafx.h"
#include "FuncServ.h"
LPBYTE FuncServ::ReceiveService()
    {
        SC_HANDLE hSCManager = OpenSCManager(NULL, NULL, SC_MANAGER_ENUMERATE_SERVICE);
        ENUM_SERVICE_STATUS_PROCESS Services[100] = { 0 };
        DWORD dwBytesNeeded = 0;
        DWORD dwServicesReturned = 0;
        DWORD dwResumeHandle = 0;
        BOOL bSuccess = FALSE;
        DWORD dwServicesCount = 0;
        EnumServicesStatusEx(hSCManager, SC_ENUM_PROCESS_INFO,
                   SERVICE_WIN32, SERVICE_STATE_ALL, LPBYTE(Services),
                   sizeof(Services), &dwBytesNeeded, &dwServicesReturned,
                   &dwResumeHandle, NULL);
        CloseServiceHandle(hSCManager);
        return LPBYTE(Services);
    }


сейчас программа выбрасывает кучу жутких ошибок...я так думаю из-за того что не может смириться с типом LPBYTE
FuncServ RS;
LPBYTE prs = RS.ReceiveService();
как лучше сделать? подскажите...

Автор: borisbn 28.4.2011, 00:16
зачем дублируешь темы ? я тебе в http://forum.vingrad.ru/forum/topic-328125.html ответил

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)