yms: (Default)
[personal profile] yms
О том, как всякие программеры, зря копающиеся в недокументированных функциях, затрудняли жизнь разработчикам винды

For example, BOZOSLIVEHERE was originally the window procedure for the edit control, with the rather nondescript name of EditWndProc. Then some people who wanted to use the edit control window procedure decide that GetWindowLong(GWL_WNDPROC) was too much typing, so they linked to EditWndProc directly.
...
Which is why I get particularly furious when people accuse Microsoft of maliciously breaking applications during OS upgrades.

И добро бы что-нибудь полезное выкопали, так нет, просто не хотелось проходить в дверь, поэтому лезли через окно. Романтика...
Я бы на месте мелкомягких менял недокументированные имена и адреса с каждым выходом новой винды и сервиспаком. Чтобы неповадно было лезть куда не надо.

Date: 2004-07-21 11:53 am (UTC)
From: [identity profile] robinbobin.livejournal.com
a ms sama sho li podrugomu rabotaet?

Date: 2004-07-21 02:41 pm (UTC)
From: [identity profile] yms.livejournal.com
По-другому. Добрые они. Из кожи вон лезли, чтобы сохранить совместимость с программами, использующими недокументированные функции.

Date: 2004-07-21 06:41 pm (UTC)
From: [identity profile] olkab.livejournal.com
Лучше бы они функции документировали, уроды. А то целые библиотеки недокументированных функций ваяют - догадывайся потом.

Date: 2004-07-21 08:34 pm (UTC)
From: [identity profile] yms.livejournal.com
Не документировано - значит, это их внутреннее дело, и не фиг туда лезть без необходимости вообще.

Date: 2004-07-21 09:17 pm (UTC)
From: [identity profile] robinbobin.livejournal.com
a chto im meshaet sdelat' chtoby documenttirovannye functions rabotali kak documanetirovano i deklarirovano....


Win32APi - edinyj api, xe-xe....

odna GetCommandLine() cehgo stoit.

Date: 2004-07-21 11:30 pm (UTC)
From: [identity profile] yms.livejournal.com
А чего там такого в GetCommandLine()?

Убирая комментарии:

LPSTR WINAPI GetCommandLineA(VOID)
{
return (LPSTR)BaseAnsiCommandLine.Buffer;
}

Date: 2004-07-22 12:18 am (UTC)
From: [identity profile] olkab.livejournal.com
Классно. Если бы у них работало всё, что задокументировано, было бы ОК. А так приходится за них доделывать. Не говоря уж о том, что нормальное явление - это дать, например, все определения security или конфигурации DCOM делать через консоль, а кого не устраивает - ебитесь как хотите. Вот мы и ...

Date: 2004-07-22 12:27 am (UTC)
From: [identity profile] yms.livejournal.com
странно... вроде это всё и через гуй делается...
да и неработа задокументированных вещей - не такое уж частое явление, гораздо чаще встречается желание романтически влезть в окно, когда лень изучать расположение дверей...

Date: 2004-07-22 01:02 am (UTC)
From: [identity profile] olkab.livejournal.com
Знаешь, а вот через гуй мне не надо. Мне надо это в программу вставить, чтоб автоматически - например, при инсталляции чтобы DCOM конфигурировался. Это так, к примеру. Я в этом смысле, как ты понимаешь, не романтик - я прагматик. Мне за это деньги платят. А если двери на потолке, в форме звезды 18 см в широкой части, и под углом в 39 градусов к горизонту, к тому же не открываются - приходится лезть в окно. Уверяю тебя, среди тех несчастных, которые этим г. вынужденны пользоваться, романтиков процент ничтожный. Любой человек в здравом уме и твёрдой памяти будет пользоваться нормальной задокументированной функцией - при условии, что она есть, работает, и делает то, что описано. Выполнение всех этих необходимых и достаточных условий - не самая сильная сторона мягкомелких.

Date: 2004-07-22 01:17 am (UTC)
From: [identity profile] yms.livejournal.com
Так я не понял, на что ты сетовала - что они сделали это через консоль, через гуй или программно? И вроде все три пути есть.

Date: 2004-07-22 03:53 am (UTC)
From: [identity profile] olkab.livejournal.com
В данном конкретном случае - конфигурация DCOM: _всё_ можно сделать через гуй. Через консоль опции урезаны до минимума. Остальное - изгиляйся как знаешь через форточку (всякие левые функции).

Date: 2004-07-22 04:28 am (UTC)
From: [identity profile] yms.livejournal.com
Попробовал сам... вроде через registry всё конфигурируется... но я могу чего-нть и не знать, так что ладно.

Date: 2004-07-22 04:53 am (UTC)
From: [identity profile] olkab.livejournal.com
Через registry я тебе что хошь сконфигурирую. А потом они поменяют параметры в registry, и все будут сосать. Версии как-то поддерживать надо? Это и есть backdoor. Для этого и существует интерфейс. А так можно и на assembly написать...

Date: 2004-07-22 05:11 am (UTC)
From: [identity profile] yms.livejournal.com
Да никто ничего не поменяет, просто потому что они "per GUID" :) Тут другая ситуация все-таки.

Profile

yms: (Default)
Michael Yutsis

March 2022

S M T W T F S
  12 345
678910 1112
13141516171819
20212223242526
2728293031  

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Mar. 24th, 2026 03:11 pm
Powered by Dreamwidth Studios