- 30.06.2020
- 4 minute de citit
In acest articol
ZwCreateEvent de rutina creeaza un obiect eveniment, stabileste starea initiala a evenimentului la valoarea specificata, si se deschide un maner la obiect cu acces dorit specificat.
Sintaxa
NTSYSAPI NTSTATUS ZwCreateEvent (PHANDLE EventHandle, ACCESS_MASK DesiredAccess, POBJECT_ATTRIBUTES ObjectAttributes, EVENT_TYPE EventType, BOOLEAN InitialState);
Parametrii
EventHandle
[out] Un indicator catre o variabila care va primi manerul obiectului eveniment. Manerul include informatii de contabilitate, cum ar fi numarul de referinte si contextul de securitate.
Acces dorit
[in] Valoarea ACCESS_MASK care reprezinta tipurile de acces dorite pentru obiectul eveniment. Urmatorul tabel contine valorile ACCESS_MASK specifice evenimentului.
Valoare Acces dorit EVENT_QUERY_STATE Interogati starea obiectului evenimentului. EVENT_MODIFY_STATE Modificati starea obiectului eveniment. EVENT_ALL_ACCESS Toate drepturile de acces posibile la obiectul evenimentului.
ObjectAttributes
[in, optional] Un indicator catre structura atributelor obiectului furnizat de apelant pentru a fi utilizat pentru obiectul specificat. Aceste atribute ar include de exemplu ObjectName si SECURITY_DESCRIPTOR . Acest parametru este initializat apeland macrocomanda InitializeObjectAttributes .
Tip de eveniment
[in] Tipul evenimentului, care poate fi SynchronizationEvent sau NotificationEvent . Aceste valori apartin enumerarii EVENT_TYPE , care este definita in fisierul antet ntdef.h .
Stare initiala
[in] Starea initiala a obiectului eveniment. Setati la TRUE pentru a initializa obiectul eveniment la starea Semnalizat. Setati la FALS pentru a initializa obiectul eveniment in starea Nesemnalizata.
Valoare returnata
ZwCreateEvent returneaza STATUS_SUCCESS sau o stare de eroare adecvata. Codurile posibile de stare de eroare includ urmatoarele:
Cod de returnare Descriere STATUS_INSUFFICIENT_RESOURCES Resursele necesare acestei functii nu au putut fi alocate. STATUS_INVALID_PARAMETER Structura ObjectAttributes furnizata continea o valoare nevalida a parametrului.
viendo como se follan a mi mujer sin bragas en la calle
zofilia porno rspañol
videos de zofilia incestos gays
española follando videos de lucio saints
incestos lesbicos recopilacion pajas
mujer masturbandose venezolanas desnudas
mujeres normales desnudas española viciosa
tetona amateur forzadas a follar
peliculas porno gay españolas jovencitas pilladas masturbandose
sexo maduras españolas madre española follando con su hijo
porno obligado shemalehd
porno maduras en español vidio pirno
super tetudas maduras lesbianas tetonas
mamada a dos bocas abuela enculada
triple anal pareja follando en la playa
xxx gratis en español xxxgay
swingers españoles incestos jovencitas
follando en casa mujeres fornicando
porno amateur hd bbw abuelas
abuelas porno españolas madres que se follan a sus hijos
STATUS_INVALID_PARAMETER_4 Parametrul specificat EventType nu a fost valid. STATUS_OBJECT_NAME_INVALID ObjectAttributes parametru continea o ObjectName in OBJECT_ATTRIBUTES structura care a fost invalid. STATUS_OBJECT_PATH_SYNTAX_BAD ObjectAttributes Parametrul nu contine un RootDirectorymembru, dar membrul ObjectName din structura OBJECT_ATTRIBUTES era un sir gol sau nu continea un caracter OBJECT_NAME_PATH_SEPARATOR. Aceasta indica o sintaxa incorecta pentru calea obiectului. STATUS_PRIVILEGE_NOT_HELD Apelantul nu avea privilegiul necesar pentru a crea un handle cu accesul specificat in parametrul DesiredAccess .
Observatii
ZwCreateEvent creeaza un obiect eveniment, isi stabileste starea initiala la valoarea specificata si deschide un maner obiectului cu accesul dorit specificat.
Evenimentele sunt folosite pentru a coordona executia. Evenimentele pot fi utilizate de driverele sistemului de fisiere pentru a permite unui apelant sa astepte finalizarea operatiei solicitate pana cand evenimentul dat este setat la starea Semnalizat.
ZwCreateEvent poate crea evenimente de notificare sau sincronizare:
- Evenimentele de notificare pot fi utilizate pentru a notifica unul sau mai multe fire de executie ca a avut loc un eveniment.
- Evenimentele de sincronizare pot fi utilizate in serializarea accesului la hardware intre doi drivere altfel neafiliate.
Un eveniment de sincronizare este resetarea automata. Cand un eveniment de sincronizare este setat la starea semnalizata, se elibereaza un singur fir de executie care astepta ca evenimentul sa fie semnalizat, iar evenimentul sa fie resetat automat la starea nesemnalizata.
Spre deosebire de un eveniment de sincronizare, un eveniment de notificare nu se reseteaza automat. Odata ce un eveniment de notificare este in starea semnalata, acesta ramane in starea respectiva pana cand este resetat in mod explicit.
Pentru a sincroniza un eveniment de notificare:
-
Creati evenimentul de notificare cu ZwCreateEvent cu parametrul EventType setat la NotificationEvent .
-
Asteptati ca evenimentul sa fie semnalat apeland ZwWaitForSingleObject cu EventHandle returnat de ZwCreateEvent . Mai mult de un fir de executie poate astepta ca un anumit eveniment de notificare sa fie semnalizat. Pentru a interoga in loc de a bloca, specificati un Timeout de zero pentru ZwWaitForSingleObject .
-
Inchideti manerul la evenimentul de notificare cu ZwClose cand accesul la eveniment nu mai este necesar.
Functia ZwCreateEvent este apelata dupa ce macro-ul InitializeObjectAttributes este folosit pentru a seta atribute in structura OBJECT_ATTRIBUTES pentru obiect.
Exista doua moduri alternative de a specifica numele obiectului transmis catre ZwCreateEvent :
-
Ca un nume de cale complet calificat, furnizat in membrul ObjectName al ObjectAttributes de intrare .
-
Ca nume de cale relativ la directorul reprezentat de maner in membrul RootDirectory al obiectului de intrare ObjectAttributes .
Pentru a elibera evenimentul, un sofer apeleaza ZwClose cu manerul evenimentului.
Pentru mai multe informatii despre evenimente, consultati Obiecte de eveniment .
Nota
Daca apelul la rutina ZwCreateEvent apare in modul utilizator, ar trebui sa utilizati numele „ NtCreateEvent ” in loc de „ ZwCreateEvent ”.
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 de rutina Nt Xxx si Zw Xxx , consultati Utilizarea versiunilor Nt si Zw ale rutinelor Native System Services.
Cerinte
Client minim acceptat Disponibil incepand cu Windows XP. Target Platform Universal Header ntifs.h (include Ntifs.h) Biblioteca NtosKrnl.lib DLL NtosKrnl.exe IRQL PASSIVE_LEVEL Regulile de conformitate DDI PowerIrpDDis, HwStorPortProhibitedDDIs
Vezi si
ACCESS_MASK
InitializeObjectAttributes
IoCreateNotificationEvent
IoCreateSynchronizationEvent
KeClearEvent
KeResetEvent
KeSetEvent
KeWaitForSingleObject
Utilizarea versiunilor Nt si Zw ale rutinelor Native System Services
ZwClose
ZwSetEvent
ZwWaitForSingleObject








