|
|
| Посл.отвђт | Сообщенiе |
|
|
Дата: Июн 30, 2003 23:07:17 люди - подскажите как функцией ZwCreateFile пользоваться! читал читал и нехрена не понял |
|
|
Дата: Июл 1, 2003 02:58:47 Muzzi читал читал А где читал? |
|
|
Дата: Июл 1, 2003 12:02:31 · Поправил: Безпощадный даос Например так: (макросы и инклуды из KmdKit)
.386
.model flat, stdcall
option casemap:none
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
; I N C L U D E F I L E S
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
include \masm32\include\kernel32.inc
include \masm32\include\w2k\ntdll.inc
include \masm32\include\w2k\ntddk.inc
include \masm32\include\w2k\ntstatus.inc
includelib \masm32\lib\kernel32.lib
includelib \masm32\lib\w2k\ntdll.lib
include \masm32\Macros\Strings.mac
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
; C O D E
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
.code
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
; start
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
start proc
local usFile:UNICODE_STRING
local oa:OBJECT_ATTRIBUTES
local hFile:HANDLE
local iosb:IO_STATUS_BLOCK
invoke RtlInitUnicodeString, addr usFile, $CTW0("\\??\\C:\\File.txt")
.if eax == STATUS_SUCCESS
; InitializeObjectAttributes
lea eax, oa
assume eax:ptr OBJECT_ATTRIBUTES
mov [eax].dwLength, sizeof OBJECT_ATTRIBUTES
mov [eax].RootDirectory, NULL
lea ecx, usFile
mov [eax].ObjectName, ecx
mov [eax].Attributes, 0
mov [eax].SecurityDescriptor, NULL
mov [eax].SecurityQualityOfService, NULL
assume eax:nothing
invoke ZwCreateFile, addr hFile, GENERIC_WRITE + SYNCHRONIZE, addr oa, addr iosb, 0, \
FILE_ATTRIBUTE_NORMAL, 0, FILE_SUPERSEDE, FILE_SYNCHRONOUS_IO_NONALERT, NULL, 0
lea ecx, iosb
.if ( eax == STATUS_SUCCESS ) || ( [IO_STATUS_BLOCK ptr [ecx]].Status == STATUS_SUCCESS )
; Work with file
invoke ZwClose, hFile
.endif
.endif
invoke ExitProcess, 0
ret
start endp
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
;
;::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: ::::::::::::::::::::::::::::::
end start
|
|
|
Дата: Июл 8, 2003 10:28:30 2Four-F Не обновляли вы свои .inc файлы? А то вдруг появилось что-то новее,чем на сайте. |
|
|
Дата: Июл 8, 2003 12:05:22 · Поправил: Four-F http://www.masmforum.com/website/tutorials/kmdtute/index.html Имеет смысл слить только апдейт. Где-нить к дню знаний подготовлю вторую версию. Там будут большие изменения... наверное ;-) |
|
Powered by miniBB 1.6 © 2001-2002
Время загрузки страницы (сек.): 0.082 |