|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Мар 7, 2003 07:12:41 Проблема такая в общем Есть пример на vc (из книжки нэббета - пример создания процесса - пример 6.2) Пытаюсь откомпилить его в vc6.... Сообщения об ошибках.... Вот кусок кода IO_STATUS_BLOCK iosb; USER_STACK stack = {0}; OBJECT_ATTRIBUTES oa = {sizeof oa,0,name,OBJ_CASE_INSENSITIVE}; NtOpenFile(&hFile,FILE_EXECUTE | SYNCHRONIZE,&oa,&iosb,FILE_SHARE_READ,FILE_SYNCHRONOUS_IO_NONALERT); oa.ObjectName = 0; NtCreateSection(&hSection,SECTION_ALL_ACCESS,&oa,0,PAGE_EXECUTE,0x01000000,hFile); NtClose(hFile); NtCreateProcess(&hProcess,PROCESS_ALL_ACCESS,&oa,NtCurrentProcess(),TRUE,hSection,0,0); SECTION_IMAGE_INFORMATION sii; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^вот это вот ЗДЕСЬ не нравится компилятору NtQuerySection(hSection, SectionImageInformation,&sii,sizeof sii,0); NtClose(hSection); а далее компилящийся вариант того же самого,только sii раньше разместил - до присваивания SECTION_IMAGE_INFORMATION sii; ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^вот это вот в таком месте программы нормально компилится IO_STATUS_BLOCK iosb; USER_STACK stack = {0}; OBJECT_ATTRIBUTES oa = {sizeof oa,0,name,OBJ_CASE_INSENSITIVE}; NtOpenFile(&hFile,FILE_EXECUTE | SYNCHRONIZE,&oa,&iosb,FILE_SHARE_READ,FILE_SYNCHRONOUS_IO_NONALERT); oa.ObjectName = 0; NtCreateSection(&hSection,SECTION_ALL_ACCESS,&oa,0,PAGE_EXECUTE,0x01000000,hFile); NtClose(hFile); NtCreateProcess(&hProcess,PROCESS_ALL_ACCESS,&oa,NtCurrentProcess(),TRUE,hSection,0,0); NtQuerySection(hSection, SectionImageInformation,&sii,sizeof sii,0); NtClose(hSection); Так вот собсна вопрос - почему приходится описание переменных вначале проги делать - иначе они не понимаются при компиляции....чо-то вроде раньше,когда использовал Borland c++ 5.02 я подобных проблем не встречал.... Пример собирал в ддк 2000 - Free Build Environment и далее в нужном каталоге запускал nmake |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.066 |