Войти

Показать полную графическую версию : WinAPI: несколько вопросов по Win32API


CyraxZ
13-11-2006, 11:30
1. Первым параметром функции WaitForSingleObject передаётся дескриптор ресурса типа HANDLE:

DWORD WaitForSingleObject(
HANDLE hObject,
DWORD dwTimeot
);

По смыслу объект должен быть сигнального типа (событие, мьютекс, критическая секция и др.). Но что произойдёт, если передать функции дескриптор, скажем, файла (или это тоже объект сигнального типа - открыт/закрыт ?) или потока (это уже точно не объект сигнального типа) ? Дескрипторы то у них у всех одного системного типа - HANDLE...

2. В инете нашёл несколько справочников по функциям WinAPI. Но ни в одном из них нет описания функций WaitCommEvent (WaitForSingleObject и WaitForMultipleObject есть) и CreateMutex, хотя все они из kernel32.dll.
Может ли кто-нибудь посоветовать действительно хороший справочник по функциям Win32API, хотя бы по функциям из библиотеки kernel32.dll...

3. Какую технологию сетевого взаимодействия реализует библиотека NETAPI32.DLL с функциями расширения для работы с сетью ?
Сокеты или что-то другое ?

4. Есть библиотеки Win32 API ядра операционной системы. Для Windows 95/98 это: kernel32.dll, user32.dll, gdi32.dll и comdlg32.dll.
Есть куча дополнительных либ Win32API с функциями расширения (mapi32.dll, netapi32.dll, winmm.dll, winsock2.dll и др.).
Так вот, верно ли, что все эти функции расширения в конечном счёте используют функции ядра ОС ?
Если да, то вызывают ли они функции ядра из библиотек kernel32.dll и др., либо дублируют код этих функций в своих dll-ках ?

DillerInc
13-11-2006, 12:28
или потока (это уже точно не объект сигнального типа) ?
...вот тебе небольшой кусок кода на TASM32 для примера:


; <Создаём удалённый поток>
push NULL
push NULL
push NULL
push CodePtr
push NULL
push 0
push dword ptr pInfo.hProcess
call CreateRemoteThread
mov hRemote, eax ; Сохраняем его дескриптор
; </Создаём удалённый поток>
;
; <Ожидаем завершения удалённого потока>
push 0FFFFFFFFh
push hRemote
call WaitForSingleObject
; </Ожидаем завершения удалённого потока>


...делай выводы.
Может ли кто-нибудь посоветовать действительно хороший справочник по функциям Win32API
...да -- MSDN (http://msdn2.microsoft.com/en-us/default.aspx) -- WaitCommEvent (http://msdn.microsoft.com/library/default.asp?url=/library/en-us/devio/base/waitcommevent.asp).

CyraxZ
13-11-2006, 13:04
DillerInc
Т.е., terminated/не terminated...
Ладно, тогда как насчёт консольного ввода ?

amel27
13-11-2006, 13:18
CyraxZ
3. RPC
4. Ищи DEPENDS.EXE из DDK, вызывают




© OSzone.net 2001-2012