forked from KolibriOS/kolibrios
NTFS: get volume info
git-svn-id: svn://kolibrios.org@6426 a494cfbc-eb01-0410-851d-a64ba20cac60
This commit is contained in:
parent
1499413a0c
commit
072f75a0f0
@ -1876,12 +1876,10 @@ ntfs_datetime_to_bdfe:
|
|||||||
|
|
||||||
;----------------------------------------------------------------
|
;----------------------------------------------------------------
|
||||||
ntfs_GetFileInfo:
|
ntfs_GetFileInfo:
|
||||||
cmp byte [esi], 0
|
|
||||||
jnz @f
|
|
||||||
movi eax, ERROR_UNSUPPORTED_FS
|
|
||||||
ret
|
|
||||||
@@:
|
|
||||||
call ntfs_lock
|
call ntfs_lock
|
||||||
|
mov edi, [ebx+16]
|
||||||
|
cmp byte [esi], 0
|
||||||
|
jz .volume
|
||||||
stdcall ntfs_find_lfn, [esp+4]
|
stdcall ntfs_find_lfn, [esp+4]
|
||||||
jnc .found
|
jnc .found
|
||||||
test eax, eax
|
test eax, eax
|
||||||
@ -1889,16 +1887,47 @@ ntfs_GetFileInfo:
|
|||||||
jmp ntfsNotFound
|
jmp ntfsNotFound
|
||||||
|
|
||||||
.found:
|
.found:
|
||||||
push esi edi
|
|
||||||
mov esi, eax
|
mov esi, eax
|
||||||
mov edi, [ebx+16]
|
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
call ntfs_direntry_to_bdfe
|
call ntfs_direntry_to_bdfe
|
||||||
pop edi esi
|
.end:
|
||||||
call ntfs_unlock
|
call ntfs_unlock
|
||||||
xor eax, eax
|
xor eax, eax
|
||||||
ret
|
ret
|
||||||
|
|
||||||
|
.volume:
|
||||||
|
mov byte [edi], 8
|
||||||
|
mov eax, [ebx+8]
|
||||||
|
mov [edi+4], eax
|
||||||
|
mov eax, dword [ebp+NTFS.Length]
|
||||||
|
mov edx, dword [ebp+NTFS.Length+4]
|
||||||
|
shld edx, eax, 9
|
||||||
|
shl eax, 9
|
||||||
|
mov [edi+36], edx
|
||||||
|
mov [edi+32], eax
|
||||||
|
add edi, 40
|
||||||
|
mov [ebp+NTFS.cur_buf], edi
|
||||||
|
mov [ebp+NTFS.cur_iRecord], 3
|
||||||
|
mov [ebp+NTFS.cur_attr], 0x60
|
||||||
|
mov [ebp+NTFS.cur_offs], 0
|
||||||
|
mov [ebp+NTFS.cur_size], 1
|
||||||
|
call ntfs_read_attr
|
||||||
|
jc ntfsFail
|
||||||
|
mov ecx, [ebp+NTFS.cur_read]
|
||||||
|
mov [edi+ecx], ax
|
||||||
|
cmp [ebx+8], eax
|
||||||
|
jnz .end
|
||||||
|
mov esi, edi
|
||||||
|
shr ecx, 1
|
||||||
|
@@:
|
||||||
|
lodsw
|
||||||
|
call uni2ansi_char
|
||||||
|
stosb
|
||||||
|
dec ecx
|
||||||
|
jnz @b
|
||||||
|
mov byte [edi], 0
|
||||||
|
jmp .end
|
||||||
|
|
||||||
;----------------------------------------------------------------
|
;----------------------------------------------------------------
|
||||||
ntfs_CreateFolder:
|
ntfs_CreateFolder:
|
||||||
mov [ebp+NTFS.bFolder], 1
|
mov [ebp+NTFS.bFolder], 1
|
||||||
|
Loading…
Reference in New Issue
Block a user