- 20.11.2020
- 6 minute de citit
In acest articol
NtQueryInformationFile Rutina returneaza diferite tipuri de informatii despre un obiect fisier. A se vedea, de asemenea , NtQueryInformationByName , care poate fi utilizat mai eficient pentru cateva clase de informatii despre fisiere.
Sintaxa
__kernel_entry NTSYSCALLAPI NTSTATUS NtQueryInformationFile (HANDLE FileHandle, PIO_STATUS_BLOCK IoStatusBlock, PVOID FileInformation, ULONG Length, FILE_INFORMATION_CLASS FileInformationClass);
Parametrii
FileHandle
[in] Maner la un obiect de fisier. Handle-ul este creat de un apel reusit catre NtCreateFile sau NtOpenFile , sau catre o rutina de creare sau deschidere de fisiere echivalenta.
IoStatusBlock
[out] Pointer catre o structura IO_STATUS_BLOCK care primeste starea finala finala si informatii despre operatie. Membrul Information primeste numarul de octeti pe care aceasta rutina il scrie de fapt in bufferul FileInformation .
FileInformation
[out] Pointer catre un buffer alocat apelantului in care rutina scrie informatiile solicitate despre obiectul fisierului. FileInformationClass parametru specifica tipul de informatii pe care solicitarile apelantului.
Lungime
[in] Dimensiunea, in octeti, a bufferului indicat de FileInformation .
FileInformationClass
[in] Specifica tipul de informatii care trebuie returnate despre fisier, in bufferul catre care indica FileInformation . Dispozitivele si driverele intermediare pot specifica oricare dintre urmatoarele valori FILE_INFORMATION_CLASS (listate de la cea mai mica la cea mai mare valoare enumerata):
Valoare FILE_INFORMATION_CLASS Tipul informatiilor returnate FileBasicInformation (4) O structura FILE_BASIC_INFORMATION. Apelantul trebuie sa fi deschis fisierul cu semnalizatorul FILE_READ_ATTRIBUTES specificat in parametrul DesiredAccess . FileStandardInformation (5) O structura FILE_STANDARD_INFORMATION. Apelantul poate interoga aceste informatii atata timp cat fisierul este deschis, fara nicio cerinta speciala pentru DesiredAccess . FileInternalInformation (6) O structura FILE_INTERNAL_INFORMATION. Aceasta structura specifica un ID de fisier pe 64 de biti care identifica in mod unic un fisier in NTFS. Pe alte sisteme de fisiere, nu este garantat ca acest ID de fisier este unic. FileEaInformation(7) O structura FILE_EA_INFORMATION. Aceasta structura specifica dimensiunea blocului de atribute extinse care este asociat fisierului. FileAccessInformation (8) O structura FILE_ACCESS_INFORMATION. Aceasta structura contine o masca de acces. Pentru mai multe informatii despre mastile de acces, consultati ACCESS_MASK. FileNameInformation (9) O structura FILE_NAME_INFORMATION. Structura poate contine calea completa a fisierului sau doar o parte din aceasta. Apelantul poate interoga aceste informatii atata timp cat fisierul este deschis, fara nicio cerinta speciala pentru DesiredAccess . Pentru mai multe informatii despre sintaxa numelui fisierului, consultati sectiunea Observatii mai tarziu in acest subiect. FilePositionInformation(14) O structura FILE_POSITION_INFORMATION. Apelantul trebuie sa fi deschis fisierul cu pavilionul DesiredAccess FILE_READ_DATA sau FILE_WRITE_DATA specificat in parametrul DesiredAccess si cu pavilionul FILE_SYNCHRONOUS_IO_ALERT sau FILE_SYNCHRONOUS_IO_NONALERT specificat in parametrul CreateOptions . FileModeInformation (16) O structura FILE_MODE_INFORMATION. Aceasta structura contine un set de steaguri care specifica modul in care fisierul poate fi accesat. Aceste semnalizatoare sunt un subset al optiunilor care pot fi specificate in parametrul CreateOptions al rutinei IoCreateFile . FileAlignmentInformation(17) O structura FILE_ALIGNMENT_INFORMATION. Apelantul poate interoga aceste informatii atata timp cat fisierul este deschis, fara nicio cerinta speciala pentru DesiredAccess . Aceste informatii sunt utile daca fisierul a fost deschis cu semnalizatorul FILE_NO_INTERMEDIATE_BUFFERING specificat in parametrul CreateOptions . FileAllInformation (18) O structura FILE_ALL_INFORMATION. Prin combinarea mai multor structuri de informatii despre fisiere intr-o singura structura, FILE_ALL_INFORMATION reduce numarul de interogari necesare pentru a obtine informatii despre un fisier. FileAlternateNameInformation (21) O structura FILE_ALL_INFORMATION in care sa returneze informatiile de nume alternative pentru un fisier (numele formatului sau 8.3).FileStreamInformation (22) Un buffer de structuri FILE_STREAM_INFORMATION in care sa se enumere fluxurile de date ale unui fisier sau unui director. FileCompressionInformation (28) O structura FILE_COMPRESSION_INFORMATION in care sa returneze informatii de compresie pentru un fisier. FileNetworkOpenInformation (34) O structura FILE_NETWORK_OPEN_INFORMATION. Apelantul trebuie sa fi deschis fisierul cu semnalizatorul FILE_READ_ATTRIBUTES specificat in parametrul DesiredAccess . FileAttributeTagInformation (35) O structura FILE_ATTRIBUTE_TAG_INFORMATION. Apelantul trebuie sa fi deschis fisierul cu semnalizatorul FILE_READ_ATTRIBUTES specificat in parametrul DesiredAccess . FileIoPriorityHintInformation(43) O structura FILE_IO_PRIORITY_HINT_INFORMATION. Apelantul trebuie sa fi deschis fisierul cu semnalizatorul FILE_READ_DATA specificat in parametrul DesiredAccess . FileSfioReserveInformation (44) O structura FILE_SFIO_RESERVE_INFORMATION. FileHardLinkInformation (46) O structura FILE_LINKS_INFORMATION. FileNormalizedNameInformation (48) O structura FILE_NAME_INFORMATION in care sa se returneze numele normalizat al unui fisier. FileIsRemoteDeviceInformation (51) O structura FILE_IS_REMOTE_DEVICE_INFORMATION. Apelantul poate interoga aceste informatii atata timp cat fisierul este deschis, fara nicio cerinta speciala pentru DesiredAccess . FileStandardLinkInformation(54) O structura FILE_STANDARD_LINK_INFORMATION. FileIdInformation (59) O structura FILE_ID_INFORMATION. FileDesiredStorageClassInformation (67) O structura FILE_DESIRED_STORAGE_CLASS_INFORMATION. FileStatInformation (68) FILE_STAT_INFORMATION FileStatLxInformation (70) FILE_STAT_LX_INFORMATION FileCaseSensitiveInformation (71) O structura FILE_CASE_SENSITIVE_INFORMATION. Apelantul trebuie sa fi deschis fisierul cu semnalizatorul FILE_READ_ATTRIBUTES specificat in parametrul DesiredAccess . Aceasta valoare este disponibila incepand cu Windows 10, versiunea 1803. FileStorageReserveIdInformation (74) O structura FILE_STORAGE_RESERVE_ID_INFORMATION.FileCaseSensitiveInformationForceAccessCheck (75) O structura FILE_CASE_SENSITIVE_INFORMATION. Apelantul trebuie sa fi deschis fisierul cu semnalizatorul FILE_READ_ATTRIBUTES specificat in parametrul DesiredAccess . Aceasta este o versiune speciala a operatiei FileCaseSensitiveInformation care este utilizata pentru a forta IOManager sa efectueze verificari de acces pentru driverul in modul kernel, similar cu verificarile care se aplica unui apelant in modul utilizator. Aceasta operatiune este recunoscuta numai de IOManager si un sistem de fisiere nu ar trebui sa o primeasca niciodata. Aceasta valoare este disponibila incepand cu Windows 10, versiunea 1803.
Valoare returnata
NtQueryInformationFile returneaza STATUS_SUCCESS sau un cod de eroare NTSTATUS adecvat.
NtQueryInformationFile returneaza informatii despre obiectul fisier specificat. Retineti ca returneaza zero in orice membru al unei FILE_ XXX _INFORMATION structura care nu este sustinuta de un anumit sistem de dispozitiv sau un fisier.
Cand FileInformationClass = FileNameInformation , numele fisierului este returnat in structura FILE_NAME_INFORMATION. Sintaxa precisa a numelui fisierului depinde de o serie de factori:
-
Daca ati deschis fisierul prin trimiterea unei cai complete la NtCreateFile , NtQueryInformationFile returneaza acea cale completa.
-
Daca manerul ObjectAttributes-> RootDirectory a fost deschis pe nume intr-un apel catre NtCreateFile si ulterior fisierul a fost deschis de NtCreateFile in raport cu acest handle de director radacina, NtQueryInformationFile returneaza calea completa.
-
Daca manerul ObjectAttributes-> RootDirectory a fost deschis de ID-ul fisierului (utilizand semnalizatorul FILE_OPEN_BY_FILE_ID) intr-un apel catre NtCreateFile si ulterior fisierul a fost deschis de NtCreateFile in raport cu acest handle de director radacina, NtQueryInformationFile returneaza calea relativa.
-
Cu toate acestea, daca utilizatorul are SeChangeNotifyPrivilege (descris in documentatia Microsoft Windows SDK), NtQueryInformationFile returneaza calea completa in toate cazurile.
-
Daca se returneaza numai calea relativa, sirul de nume de fisier nu va incepe cu o bara inversa.
-
Daca se returneaza calea completa si numele fisierului, sirul va incepe cu o singura bara inversa, indiferent de locatia sa. Astfel, fisierul C: \ dir1 \ dir2 \ filename.ext va aparea ca \ dir1 \ dir2 \ filename.ext, in timp ce fisierul \ server \ share \ dir1 \ dir2 \ filename.ext va aparea ca \ server \ share \ dir1 \ dir2 \ filename.ext.
Daca NtQueryInformationFile esueaza din cauza unei depasiri a buffer-ului, driverele care implementeaza FileNameInformation ar trebui sa returneze cate caractere WCHAR din numele fisierului se vor potrivi in buffer si vor specifica lungimea completa necesara in parametrul FileNameLength al structurii FILE_NAME_INFORMATION. Ar trebui sa retransmiteti interogarea utilizand lungimea numelui fisierului, astfel incat sa puteti recupera numele complet al fisierului. Driverele care nu respecta acest model ar putea necesita o crestere treptata a lungimii pana cand vor recupera numele complet al fisierului. Pentru mai multe informatii despre lucrul cu fisiere, consultati Utilizarea fisierelor intr-un driver.
Apelantii NtQueryInformationFile trebuie sa ruleze la IRQL = PASSIVE_LEVEL si cu APC-uri speciale de nucleu activate.
Nota
Daca apelul catre aceasta functie apare in modul utilizator, ar trebui sa utilizati numele ” NtQueryInformationFile ” in loc de ” ZwQueryInformationFile “.
Pentru apelurile de la driverele in modul kernel, versiunile Nt Xxx si Zw Xxx ale unei rutine Windows Native System Services se pot comporta diferit in modul in care gestioneaza si interpreteaza parametrii de intrare. Pentru mai multe informatii despre relatia dintre versiunile Nt Xxx si Zw Xxx ale unei rutine, consultati Utilizarea versiunilor Nt si Zw ale rutinelor Native System Services.
Cerinte
Sprijinit de client minim de pornire disponibile cu Windows 2000. tinta Platforma universala Antet ntifs.h (includ Wdm.h, Ntddk.h, Ntifs.h) Biblioteca NtosKrnl.lib DLL Ntoskrnl.exe ICCV PASSIVE_LEVEL ( a se vedea sectiunea Comentarii) DDI Regulile privind conformitatea PowerIrpDDis, HwStorPortProhibitedDDIs
Vezi si
FILE_ACCESS_INFORMATION
FILE_ALIGNMENT_INFORMATION
FILE_ALL_INFORMATION
FILE_ATTRIBUTE_TAG_INFORMATION
FILE_BASIC_INFORMATION
FILE_EA_INFORMATION
FILE_INTERNAL_INFORMATION
FILE_IO_PRIORITY_HINT_INFORMATION
FILE_IS_REMOTE_DEVICE_INFORMATION
FILE_MODE_INFORMATION
FILE_NAME_INFORMATION
FILE_NETWORK_OPEN_INFORMATION
FILE_POSITION_INFORMATION
FILE_STANDARD_INFORMATION
Utilizarea versiunilor Nt si Zw ale rutinelor Native System Services
NtCreateFile
NtQueryInformationByName
NtSetInformationFile
roberta gemma video streaming michel ferrari porno
cazzi duri porno michelle ferrari cum
video hard centoxcento michelle ferrari giada
filthy amateurs michelle ferrari giada da vinci
malena la pugliese fuck michelle ferrari hub
martina smeraldi rocco porn michelle ferrari interracial
malena mastromarino gang bang michelle ferrari it
malena por michelle ferrari lesbian
www.roberta gemma.com michelle ferrari porno italiano
video giada da vinci michelle ferrari sex
porno strea michelle ferrari streaming
itaian porn michelle ferrari tette
when girls play michelle ferrari video hard
adriana cechick michelle ferrari xxx
film porn italian mignotta italiana
alex magni porn mignotte xxx
malena video hot mike angelo porno
martina smeraldi max felicitas porno mila milan
film porno roberta mila milan porno
accademy rocco mila milan pornostar








