Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

RusFAQ.ru: Win API


Информационный Канал Subscribe.Ru

RusFAQ.ru: Win API

Выпуск № 078
от 10.07.2004, 01:20

Администратор:
Имя: Калашников О. А.
URL: Информационный ресурс
ICQ: 68951340
Россия, Москва
О рассылке:
Задано вопросов: 207
Отправлено ответов: 296
Активность: 142.9 %
[Задать вопрос >>][Регистрация эксперта >>]
[Поиск в базе][Обсудить на форуме]


 Список экспертов, ответы которых опубликованы в данном выпуске

Gibbel
Статус: Профессиональный
Общий рейтинг: 105.04
URL: Savage Metal Club - жизнь в стиле рок-н-ролл
Телефон: +7 901 710 3146
[Подробней >>]
Foamplast
Статус: Профессиональный
Общий рейтинг: 139.12
URL: мой личный сайт
[Подробней >>]


 Краткий перечень вопросов

Вопрос № 198. Здравствуйте ув. экстерты... Ответьте ПОЖАЛУЙСТА на вопрос: как выделяется память в Windows? особенн... (ответов: 1)
Вопрос № 202. Привет всем! Делаю ХР-ишную иконку в трэе, заполняю структуру NOTIFYICONDATA таким образом - см. при... (ответов: 1)
Вопрос № 204. А дело было так: когда у меня был P2 тв тюнер AverMedia на нем работал только если в биосе поставить... (ответов: 1)

Вопросов: 3, ответов: 3


 Вопрос № 198

Здравствуйте ув. экстерты...
Ответьте ПОЖАЛУЙСТА на вопрос: как выделяется память в Windows?
особенно GlobalAlloc или LocalAlloc(кратна ли выделяемая память 64к)
т.е. если нам надо 200 байт GlobalAlloc выдаст нам 64к или 200??
Спасибо за внимание...



Вопрос отправлен: 01.07.2004, 16:03
Отправитель: varyag

[Следующий вопрос >>] [Список вопросов]

Отвечает Gibbel

Приветствую Вас, varyag!
GlobalAlloc выделяет вам именно то количество памяти, которое вы запросили. Попытка обратиться за границы выделеного блока вызовет ошибку.
Другое дело, как работает механизм распределения памяти Windows. Скорее всего, выделяется память блоками по 4Кб, при этом, неиспользуемая часть этой памяти резервируется.
Стоит отметить, что функция GlobalAlloc работает нестабильно при попытке выделить меньше 64 байт памяти.

Ответ отправлен: 01.07.2004, 16:39
Отправитель: Gibbel


 Вопрос № 202

Привет всем!
Делаю ХР-ишную иконку в трэе, заполняю структуру NOTIFYICONDATA таким образом - см. приложение.
Сперва делал в BC++B 5 - с использованием VCL, затем решил перенести на WinAPI, в результате чего получил такую вот C++ Error:
[C++ Error] Unit1.cpp(201): E2451 Undefined symbol 'NIF_INFO'
[C++ Error] Unit1.cpp(204): E2316 'uVersion' is not a member of '_NOTIFYICONDATAA'
[C++ Error] Unit1.cpp(204): E2451 Undefined symbol 'NOTIFYICON_VERSION'
[C++ Error] Unit1.cpp(207): E2316 'szInfo' is not a member of '_NOTIFYICONDATAA'
[C++ Error] Unit1.cpp(208): E2316 'szInfoTitle' is not a member of '_NOTIFYICONDATAA'
[C++ Error] Unit1.cpp(209): E2316 'dwInfoFlags' is not a member of '_NOTIFYICONDATAA'
[C++ Error] Unit1.cpp(209): E2451 Undefined symbol 'NIIF_INFO'
- я сам смотрел специально: в shellapi.h все нормально, при чем как я уже говорил на VCL все компилилось! Система WinXP. #define _WIN32_IE 0x0600 не помогает. Подскажите, в чем дело?


Приложение:


Вопрос отправлен: 05.07.2004, 01:01
Отправитель: Alexey

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Доброе время суток, Alexey!
Если пишут "Undefined symbol 'NIF_INFO'" - значит, надо искать определение этого символа и смотреть, при каких условиях он определяется. Я пишу на асме, переделывая файлы определений под себя и всё ништяк. То есть я убираю нафиг все условия и получается файл определений для Win2000 - IE4. Если надо файлы - давай адрес, пришлю. Так же могу прислать исходник приложения, сидящего в системном лотке.


Ответ отправлен: 08.07.2004, 09:02
Отправитель: Foamplast


 Вопрос № 204

А дело было так:
когда у меня был P2 тв тюнер AverMedia на нем работал только если в биосе поставить System - Not PNP. Т.е. если биос устройства не искал.
Теперь у меня P4 (отключить определение устройств нет возможности) и возникла необходимость в тюнере.
Родной софт работает, но мне нравится JTV. А он не находит тюнер (на P2 работал, работает и сейчас, но только под XP, а я в основном работаю на 98SE).
Теперь к делу:
Выяснил, что проблема в том, что JTV ищет устройства с помощью DeviceIOControl. Все (4) устройства возвращают код 8086, а надо 109e. Причем биос (в табличке перед загрузкой) показывает 8 устройств где vendor=8086 (IDE,serial,SMbus...), vendor=10de (GeForce4), и наконец 2 штуки vendor=109e(вероятно звук и видео тюнера).
Кстати PowerStrip видит тоже все устройства.
Вопрос: почему DeviceIOcontrol не видит ВСЕ устройства?
Как заставить JTV работать?



Вопрос отправлен: 06.07.2004, 01:12
Отправитель: НС

[Следующий вопрос >>] [Список вопросов]

Отвечает Foamplast

Приветствую Вас, НС!
DeviceIoControl() всего лишь посылает сообщение драйверу устройства. Это как SendMessage(). То есть он ничего и не может видеть, всё дело в драйвере, загруженном в данный момент. Возможно, что разные программы активизируют различные драйверы. Либо сторонние программы не рассчитаны на конкретный драйвер. Попробуйте отладить эти программы и посмотреть, чего они грузят и как общаются с устройствами.
P.S. У меня ATI All-in-Wonder и никакие программы, кроме родных не идут.


Ответ отправлен: 08.07.2004, 09:03
Отправитель: Foamplast



Форма отправки вопроса

Внимание!
Мы рекомендуем открывать рассылку в программе Internet Explorer 5.0+ или отправлять вопросы с сайта по адресу: http://rusfaq.ru/cgi-bin/Message.cgi.

(C) 2002-2003 Команда RusFAQ.ru.

 Персональные данные

Ваше имя:

Ваш e-mail:

Опубликовать мой e-mail в рассылке


 Вопрос и дополнение

Ваш вопрос:


Приложение (если необходимо):


Получить ответов:


 Выбор рассылки

Программисту
Assembler (27)
C / C++ (14)
Perl (4)
Builder / Delphi (18)
Pascal (28)
Basic / VBA (6)
Java / JavaScript (5)
PHP (13)
Криптография (8)
WinAPI (12)
Радиоэлектроника (12)
Пользователю
Windows 95/98/Me (40)
Windows NT/2000/XP (55)
"Железо" (38)
Поиск информации (16)
Администратору
Windows NT/2000/XP (32)
Linux / Unix (15)
Юристу
Гражданское право (8)
Семейное право (6)
Трудовое право (7)
КоАП (5)

Отправить вопрос всем экспертам выбранной рассылки.




Задать вопрос | Регистрация эксперта | Поиск в базе | Чат | Форумы | Новости
Проект экспертов RusFAQ.ru | Фотоальбом | Virus.RusFAQ.ru | Администрирование
Профессиональная WEB-Студия B.I.T.


Яндекс цитирования
© 2001-2004 Россия, Москва. Авторское право: Калашников О.А.

http://subscribe.ru/
E-mail: ask@subscribe.ru
Адрес подписки
Отписаться

В избранное