Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];

Вниз

RegisterServiceCtrlHandlerEx в win9x?   Найти похожие ветки 

 
Пробегал...   (2008-02-05 17:21) [0]

Есть ли такая функция в библиотеках win9x серии или нет? То есть, есть ли там заглушка и для написания универсального приложения (которое сможет работать и в NT как сервис, и в 9x как обычное приложение) можно применять статическую линковку как в файле WinSvc.pas или нужно переделывать на динамическую?

В MSDN что-то не написано об этом явно, в гугле тоже не нагуглил, а проверить - под рукой нету win9x. Может кто сталкивался - знает?


 
Игорь Шевченко ©   (2008-02-05 17:31) [1]

Не проще ли не мучиться, а сразу использовать динамическую компоновку ?


 
Пробегал...   (2008-02-05 17:57) [2]

ну лень, тем более в WinSvc большинство функций объявлено ;)


 
Romkin ©   (2008-02-05 18:04) [3]

Вроде нет :)
А универсальное приложение - см Borland Socket Server, работает везде и как сервис, и как приложение


 
Пробегал...   (2008-02-05 18:56) [4]

если ты про "ScktSrvr.dpr" - то и намека там не нашел, что данная программа как сервис может работать.


 
clickmaker ©   (2008-02-05 18:59) [5]


> [4] Пробегал...   (05.02.08 18:56)

if Installing or StartService then
...

недостаточно прозрачный намек?


 
Eraser ©   (2008-02-05 19:44) [6]

> [0] Пробегал...   (05.02.08 17:21)

см. библиотеку API от jedi http://www.delphi-jedi.org/ , там диррективой условной компиляции можно сделать, чтобы все ф-ии динамически подгружались. незаменимая весч.. заодно хороший пример того, как следует делать дин. загрузку.


 
хам   (2008-02-05 19:50) [7]

> [0] Пробегал...   (05.02.08 17:21)
> То есть, есть ли там заглушка и для написания универсального
> приложения

Как ты думаешь, сколко в нынешней винде стоит заглушек, для приложений которые будут написаны для виндовс 2208? Ровно ноль. То-же самое и для Windows98.


 
Пробегал...   (2008-02-05 20:10) [8]

хам   (05.02.08 19:50) [7]
Ровно ноль. То-же самое и для Windows98


бред сивой кобылы.


 
Пробегал...   (2008-02-05 20:17) [9]

clickmaker ©   (05.02.08 18:59) [5]
if Installing or StartService then
...

недостаточно прозрачный намек?


я не вижу нигде расчета на то, что программа может запускаться на Win9x. Она вообще не создает сервиса.

А используемые функции по работе с сервисами наподобии "QueryServiceConfig" также статически прилинкованы.

Но непонятно как понимать слова Romkin"а... Если данное приложение действительно работает на win9x - то значит там есть заглушки нужные, иначе бы приложение не запустилось, никакой динамической линковки там нет.


 
хам   (2008-02-05 20:22) [10]

> [8] Пробегал...   (05.02.08 20:10)
> бред сивой кобылы.

Ты сам — кобыла. Покажи хоть одну такую функцию-заглушку, для совместимости с NT.


 
@!!ex ©   (2008-02-05 20:26) [11]

А смысл заморачиваться на совместимость с ОС, которая стоит у единиц?
Если клиентура подразумевается более ста человек, то на 1% пользователей 9x можно с чистой совестью забить.


 
хам   (2008-02-05 20:28) [12]

> [11] @!!ex ©   (05.02.08 20:26)

А смысл забивать на одного пользователя, когда можно прилинковать динамически, сделав пару движений, и получать прибыль на 1% больше.


 
@!!ex ©   (2008-02-05 20:31) [13]

> [12] хам   (05.02.08 20:28)

1% пользователей ОС не гарантирует !% пользователей разрабатываемого софта.
Может потратить день и переписать все на FPC, получим еще и пользователей Linux. ;)


 
@!!ex ©   (2008-02-05 20:34) [14]

Хотя насчет 1% я погорячился, так вроде чуть больше, хотя точно не помню.


 
Пробегал...   (2008-02-05 21:33) [15]

хам   (05.02.08 20:22) [10]
Покажи хоть одну такую функцию-заглушку


практически любая функция, заканчивающаяся на "W" от слова Wide. Их в win9x сотни. Или тысячи? Или десятки тысяч?

В общем, ты не в теме абсолютно. Можешь дальше не писать, я лично все равно игнорировать буду.

@!!ex ©   (05.02.08 20:26) [11]
А смысл заморачиваться на совместимость с ОС, которая стоит у единиц?


ну в конце концов как было правильно замечено это не так сложно.

И вообще "Партия сказала надо, комсомом ответил - есть!"


 
хам   (2008-02-05 21:47) [16]

> практически любая функция, заканчивающаяся на "W" от слова Wide.

Это вообщето юникод версии функций, а не «заглушки». Дркгое дело, что они ковертировали юникодовую строку в ANSI, но они же не динамили вызовы, насколько я знаю, для «якобы» совместимости?

> [15] Пробегал...   (05.02.08 21:33)
> ну в конце концов как было правильно замечено это не так
> сложно.

Это же я заметил, а я не в теме, а ты обещал меня больше не слушать… Ну ты и болажался…


 
Пробегал...   (2008-02-05 21:56) [17]

хам   (05.02.08 21:47) [16]
но они же не динамили вызовы, насколько я знаю, для «якобы» совместимости?


ERROR_CALL_NOT_IMPLEMENTED


 
хам   (2008-02-05 22:10) [18]

> [17] Пробегал...   (05.02.08 21:56)

Фига, и вправду…
В Windows 98 основную работу выполняет CreateWindowExA. В этой операционной системе предусмотрены точки входа для всех функций Windows, принимающих Unicode-строки, но функции не транслируют их в ANSI, а просто сообщают об ошибке. Последующий вызов GetLastError дает ERROR_CALL_NOT_IMPLEMENTED. Должным образом действуют только ANSI-версии функций. Ваше приложение не будет работать в Windows 98, если в скомпилированном коде присутствуют вызовы «широкосимвольных» функций.
Кка там кетрарь говорить, пошел лечить расшатаную нервную систему.

Зы. К вопросу, имхо, юникод не имеет отношения, это не новые функции, это лишь разные версии существующих, которые изначально предполагалось расширять. Встраивать сервисы в 9ч никто не собирлася.


 
Пробегал...   (2008-02-06 18:08) [19]

Ну что, кто-нибудь знает ответ на вопрос в сабже? ;)

Или Romkin может появится, расскажет - работает ли Borland Socket Server под win9x? Если ТОЧНО работает - значит, функции заглушки точно есть, ибо в этом BSS используется статическая линковка без всяких проверок ОС.


 
Rouse_ ©   (2008-02-06 18:35) [20]

Заглушки там есть только на RegisterServiceCtrlHandlerA и RegisterServiceCtrlHandlerW


 
Пробегал...   (2008-02-06 18:44) [21]

Плохо ;(

Значит, Romkin обманул. Ибо в Borland Socket Server используется QueryServiceConfig, а значит в Win9x данная программа не должна запуститься. Но странно как-то ;(

Или для QueryServiceConfig ТОЖЕ есть заглушка?


 
clickmaker ©   (2008-02-06 18:58) [22]

в секции импорта advapi32.dll есть QueryServiceConfigA / W
Win 98 SE
в 95 - не знаю


 
Пробегал...   (2008-02-06 19:03) [23]

clickmaker ©   (06.02.08 18:58) [22]

да, да! Мне только что посоветовали этот способ. Вот я остолоп, у меня же есть все дистрибутивы винды, просто ставить не хотелось. Но зачем ставить, если можно просто взять нужную библиотеку и проверить секции экспорта.


 
Пробегал...   (2008-02-06 19:16) [24]

Все, достал библиотеку из дистрибутива Win95.

Microsoft®  Plus!  for  Windows®  95
Версия файла: 4.70.1155


А вот и экспортируемые функции некоторые:

000020D8   23 0016 CloseServiceHandle
0000215F   29 001C CreateServiceA
0000215F   30 001D CreateServiceW
000020EA  201 00C8 RegisterServiceCtrlHandlerA
000020EA  202 00C9 RegisterServiceCtrlHandlerW
000020EA  217 00D8 SetServiceStatus
000020D8  221 00DC StartServiceCtrlDispatcherA
000020D8  222 00DD StartServiceCtrlDispatcherW


то есть, заглушки есть все, которые нужны!

Все таки Romkin был прав со своим Borland Socket Server ;)

Rouse_ не прав, заглушки есть не только для RegisterServiceCtrlHandler.

хам не прав абсолютно, ни по одному пункту. О чем я и написал, что бред сивой кобылы ;) Так что не надо обижаться ;)


 
Пробегал...   (2008-02-06 19:18) [25]

хотя не исключено, что в самых первых поставках Win95 этих функций и нету, а может и нету самой библиотеки. Но это уж было совсем, совсем давно ;)


 
хам   (2008-02-06 20:05) [26]

> [24] Пробегал...   (06.02.08 19:16)
> хам не прав абсолютно, ни по одному пункту.

Чаще работаю в API с графикой, там от макросовта не приходится ждать такого великодушия, а тут на тебе, прямо постарались загадя.


 
Rouse_ ©   (2008-02-06 20:58) [27]


> Rouse_ не прав, заглушки есть не только для RegisterServiceCtrlHandler.

Вопрос вроде был поставлен как: RegisterServiceCtrlHandlerEx в win9x?
Мне тебе полный перечень экспортируемых функций из ADVAPI в 9х нужно было привести чтоли?


 
Пробегал...   (2008-02-07 00:50) [28]

Rouse_ ©   (06.02.08 20:58) [27]
Вопрос вроде был поставлен как: RegisterServiceCtrlHandlerEx в win9x?


это в сабже. А по ходу тема расшифровка, в том числе про функции CreateService и прочее.

твоя фраза:

"Заглушки там есть только на RegisterServiceCtrlHandlerA и RegisterServiceCtrlHandlerW"

слово "только" - к чему относится? Я так понял, что есть заглушки ТОЛЬКО к этим функциям, относящимся к сервисам. А мол других функций нет.

Если было бы: ""Заглушки там есть на RegisterServiceCtrlHandlerA и RegisterServiceCtrlHandlerW" - то не вопрос. Я же не придумываю блин, это твои слова.


 
Пробегал...   (2008-02-07 00:52) [29]

хотя каюсь, про функцию CreateService не было. Но я описал, как я понял слово "только" - если нет так понял - то сори.



Страницы: 1 вся ветка

Форум: "Прочее";
Текущий архив: 2008.03.16;
Скачать: [xml.tar.bz2];

Наверх





Память: 0.52 MB
Время: 0.008 c
3-1193483771
TheEd
2007-10-27 15:16
2008.03.16
Оптимизация сетевого траффика


15-1202232366
Thumbs.db
2008-02-05 20:26
2008.03.16
Thumbs.db


2-1203233360
Mk30
2008-02-17 10:29
2008.03.16
Нужна помощь! Как можно в Делфи определить момент подключ.флешки?


2-1203332964
Washington
2008-02-18 14:09
2008.03.16
Unit Variants


2-1203406857
dmitry_12_08_73
2008-02-19 10:40
2008.03.16
Создание рамки с бегущими муравьями





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский