Литература или ресурсы по WinAPI?

Друзья.Дочитал K&R решил сразу же попробовать глянуть в WinAPI.Скачал книгу Системное программирование в среде Windows от Харта.Судя по версиям винды которые он называет он не упоминает даже XP.То есть книга древняя по видимому.Целый день скакал по разным сайтам,ясности нет ни капли.Даже первый код из той книги не компилится 73eee454a06c486eb1378d53b37c42d9.png Выводя сумашеднее колличество ворнингов и ошибок
spoiler
C:\Users\folle\Documents\wapi\vax\winapi.c:8:8: error: conflicting types for 'hIn'
  DWORD hIn, hOut;
        ^
C:\Users\folle\Documents\wapi\vax\winapi.c:7:9: note: previous declaration of 'hIn' was here
  HANDLE hIn, hOut;
         ^
C:\Users\folle\Documents\wapi\vax\winapi.c:8:13: error: conflicting types for 'hOut'
  DWORD hIn, hOut;
             ^
C:\Users\folle\Documents\wapi\vax\winapi.c:7:14: note: previous declaration of 'hOut' was here
  HANDLE hIn, hOut;
              ^
C:\Users\folle\Documents\wapi\vax\winapi.c:15:7: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
   hIn = CreateFile(argv [1], GENERIC_READ, 0, NULL, OPEN_EXISTING, 0, NULL);
       ^
C:\Users\folle\Documents\wapi\vax\winapi.c:16:12: warning: comparison between pointer and integer
    if (hIn == INVALID_HANDLE_VALUE)
            ^
C:\Users\folle\Documents\wapi\vax\winapi.c:22:8: warning: assignment makes integer from pointer without a cast [-Wint-conversion]
   hOut = CreateFile(argv[2], GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
        ^
C:\Users\folle\Documents\wapi\vax\winapi.c:23:12: warning: comparison between pointer and integer
   if (hOut == INVALID_HANDLE_VALUE)
            ^
C:\Users\folle\Documents\wapi\vax\winapi.c:28:20: warning: passing argument 1 of 'ReadFile' makes pointer from integer without a cast [-Wint-conversion]
    while (ReadFile(hIn, Buffer, BUF_SIZE, &hIn, NULL) && hIn > 0)
                    ^
In file included from c:\mingw\include\windows.h:44:0,
                 from C:\Users\folle\Documents\wapi\vax\winapi.c:1:
c:\mingw\include\winbase.h:2013:24: note: expected 'HANDLE {aka void *}' but argument is of type 'DWORD {aka long unsigned int}'
 WINBASEAPI BOOL WINAPI ReadFile(HANDLE,PVOID,DWORD,PDWORD,LPOVERLAPPED);
                        ^
C:\Users\folle\Documents\wapi\vax\winapi.c:30:14: warning: passing argument 1 of 'WriteFile' makes pointer from integer without a cast [-Wint-conversion]
    WriteFile(hOut, Buffer, hIn, &hOut, NULL);
              ^
In file included from c:\mingw\include\windows.h:44:0,
                 from C:\Users\folle\Documents\wapi\vax\winapi.c:1:
c:\mingw\include\winbase.h:2207:24: note: expected 'HANDLE {aka void *}' but argument is of type 'DWORD {aka long unsigned int}'
 WINBASEAPI BOOL WINAPI WriteFile(HANDLE,PCVOID,DWORD,PDWORD,LPOVERLAPPED);
                        ^
C:\Users\folle\Documents\wapi\vax\winapi.c:38:15: warning: passing argument 1 of 'CloseHandle' makes pointer from integer without a cast [-Wint-conversion]
   CloseHandle(hIn);
               ^
In file included from c:\mingw\include\windows.h:44:0,
                 from C:\Users\folle\Documents\wapi\vax\winapi.c:1:
c:\mingw\include\winbase.h:1328:24: note: expected 'HANDLE {aka void *}' but argument is of type 'DWORD {aka long unsigned int}'
 WINBASEAPI BOOL WINAPI CloseHandle(HANDLE);
                        ^
C:\Users\folle\Documents\wapi\vax\winapi.c:39:15: warning: passing argument 1 of 'CloseHandle' makes pointer from integer without a cast [-Wint-conversion]
   CloseHandle(hOut);
               ^
In file included from c:\mingw\include\windows.h:44:0,
                 from C:\Users\folle\Documents\wapi\vax\winapi.c:1:
c:\mingw\include\winbase.h:1328:24: note: expected 'HANDLE {aka void *}' but argument is of type 'DWORD {aka long unsigned int}'
 WINBASEAPI BOOL WINAPI CloseHandle(HANDLE);
                        ^
и тд.

Подскажите собственно,что почитать чтобы вьехать в тему wapi программирования,да и вообще,что новичку в сях почитать еще.Как например вообще писать DLL,как их использовать потом,откуда то же люди это знают,а вот K&R ничего об этом не говорят.Другой хорошей лит-ры найдено не было мной.Вобщем помогите ламеру,наставьте на путь истинный.

UPD:Среда разработки Eclipse CDT + компилятор MinGW
  • Вопрос задан
  • 5452 просмотра
Решения вопроса 1
Из литературы - Рихтер, Петцольд, из справочника - MSDN. Опять таки литературу нужно читать только для того чтобы понять основы WinAPI, многое из того же Петцольда устарело, но зато там широко описывается работа с GUI. Рихтер это уже более продвинутые вещи API уровня ядра.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 1
AxianLTD
@AxianLTD
MSDN единственный и точный источник сведений о Windows и других изделиях MS
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы