|
|
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
Я решил службу сделать, взял книжку Программирование серверных приложений для Windows Дж.Рихтера, Дж.Кларка Для инициализации функции обратного вызова там используется: RegisterServiceCtrlHandlerEx Компилятор этой функции найти не может, пишет: RegisterServiceCtrlHandlerEx : undeclared identifier Запускаю примеры с диска, приложанные к книге - такой же бред. Нашел ее описание в MSDN: http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dllproc/base/setservicestatus.asp Тама написано следующее: Requirements Client: Requires Windows XP or Windows 2000 Professional. Server: Requires Windows Server 2003 or Windows 2000 Server. Unicode: Implemented as Unicode and ANSI versions. Header: Declared in Winsvc.h; include Windows.h. Library: Use Advapi32.lib. Перед вызовом RegisterServiceCtrlHandlerEx: #include "windows.h" #include "winsvc.h" вроди стоят Advapi32.lib в Project\Setting\Link\Object/library modules вроди указано Действо происходит под ОС Windows 2000 ... не знаю на сколько она Professional ... но то что она не Server это точно в Visual C++ 6.0 Не подскажите, в чем тут дело .... Заранее благодарен.... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 11:54 |
|
||
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
В свойствах проекта в С\С++ в Preprocessor definitions попробуй поставить _WINNT_WIN32 = 0x0500 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 16:23 |
|
||
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
Добавил я в Project setting в поле Preprocessor definitions: _WINNT_WIN32 Щас у меня там находится: WIN32,_DEBUG,_WINDOWS,_MBCS,_WINNT_WIN32 Но все равно, компилятор возвращает: Compiling... StdAfx.cpp Compiling... Dispatcher.cpp D:\PROJ_KOP\Dispatcher\Dispatcher.cpp(33) : error C2065: 'RegisterServiceCtrlHandlerEx' : undeclared identifier Error executing cl.exe. Dispatcher.exe - 1 error(s), 0 warning(s) ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 28.05.2004, 17:01 |
|
||
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
я использую RegisterServiceCtrlHandler в VC6 компилится и под 98 и везде.. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 29.05.2004, 19:28 |
|
||
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
_WINNT_WIN32 = 0x0500 пробуй ещё раз ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 07:55 |
|
||
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
Добавил я в Project setting в поле Preprocessor definitions: _WINNT_WIN32 = 0x0500 Щас у меня там находится: WIN32,_DEBUG,_WINDOWS,_MBCS, _WINNT_WIN32 = 0x0500 Но к сожалению, без изменений ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 10:39 |
|
||
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
Щас запустил RegisterServiceCtrlHandler, вроди компилируется ... тока я не знаю хватит ли мне ее, ведь она подцепляет процедуру с одним входным параметром, а RegisterServiceCtrlHandlerEx приципляла процедуру с 4-мя параметрами ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 11:10 |
|
||
|
Один бред, ничего не понимаю
|
|||
|---|---|---|---|
|
#18+
авторНо к сожалению, без изменений Значит я был не прав :) Просто иногда этим дефайном ограничивают высоковерсевые функции. автора RegisterServiceCtrlHandlerEx приципляла процедуру с 4-мя параметрами Передавай указатель на структуру из этих четырёх параметров как один параметр в RegisterServiceCtrlHandler PS. и посмотри, у тебя вообще заголовочник с RegisterServiceCtrlHandlerEx есть? Если есть, посмотри, какие #ifdef его окружают. Их и надо в предефайнед запихать ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 31.05.2004, 13:11 |
|
||
|
|

start [/forum/topic.php?fid=57&msg=32540386&tid=2034872]: |
0ms |
get settings: |
12ms |
get forum list: |
20ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
60ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
56ms |
get tp. blocked users: |
2ms |
| others: | 238ms |
| total: | 408ms |

| 0 / 0 |
