Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Последние темы форума

Показать новые сообщения »

Почтовая рассылка

Подписчиков: 6462
Последний выпуск: 19.06.2015

Callback-функция APC при сокетных операциях

336
22 октября 2012 года
cheburator
589 / / 01.06.2006
MSDN говорит, что сигнарута у callback-функции должна быть такой:
VOID CALLBACK FileIOCompletionRoutine(
_In_ DWORD dwErrorCode,
_In_ DWORD dwNumberOfBytesTransfered,
_Inout_ LPOVERLAPPED lpOverlapped
);

а в интернете нашел статьи по сокетам:
http://users.hfx.eastlink.ca/~ebrooks/articles/overlapped.html
http://www.winsocketdotnetworkprogramming.com/winsock2programming/winsock2advancediomethod5g.html
которые пишут
void CALLBACK CompletionROUTINE(
IN DWORD dwError,
IN DWORD cbTransferred,
IN LPWSAOVERLAPPED lpOverlapped,
IN DWORD dwFlags
)

Там все-таки 3 параметра или 4, или процедуры реально разные для "обычного" и сокетного ввода-вывода?
6
22 октября 2012 года
@pixo $oft
3.4K / / 20.09.2006
Я думаю,MSDN всё-таки правильно указывает.И вообще,чего спрашивать?Смотри,как в заголовочниках определено.Всплывающие подсказки совсем не вылезают,что ли?
336
23 октября 2012 года
cheburator
589 / / 01.06.2006
Догадался поискать в заголовочниках определения для обоих, и они оказались разные.
Просто были смутные подозрения - а как манагер APC "знает", по какой сигнатуре делать вызов...
Тем более, есть еще колбэк для функции QueueUserAPC, у нее вообще третья сигнатура. Видимо, манагер умный, как-то различает.
Вопрос закрыт.

Знаете кого-то, кто может ответить? Поделитесь с ним ссылкой.

Ваш ответ

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог