OB_PRE_CREATE_HANDLE_INFORMATION-Struktur (wdm.h)
Die OB_PRE_CREATE_HANDLE_INFORMATION-Struktur stellt einer ObjectPreCallback-Routine Informationen zu einem thread- oder Prozesshandle bereit, das geöffnet wird.
Syntax
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
ACCESS_MASK DesiredAccess;
ACCESS_MASK OriginalDesiredAccess;
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;
Member
DesiredAccess
Ein ACCESS_MASK Wert, der die Zugriffsrechte angibt, die für das Handle gewährt werden sollen. Standardmäßig entspricht dieser Member OriginalDesiredAccess, aber die ObjectPreCallback-Routine kann diesen Wert ändern, um den gewährten Zugriff einzuschränken.
Treiber können die folgenden Flags für Handles für Prozesse verwenden:
Flag | Zulässige Vorgänge |
---|---|
PROCESS_CREATE_PROCESS | Erstellen Sie einen neuen untergeordneten Prozess des Prozesses. |
PROCESS_CREATE_THREAD | Erstellen Sie einen neuen Thread im Kontext des Prozesses. |
PROCESS_DUP_HANDLE | Doppelte Handles zum oder aus dem Kontext des Prozesses, z. B. durch Aufrufen der Duplikathandle-Routine im Benutzermodus. |
PROCESS_SET_QUOTA | Legen Sie die Arbeitssatzgröße für den Prozess fest, z. B. durch Aufrufen der SetProcessWorkingSetSize-Routine im Benutzermodus. |
PROCESS_SET_INFORMATION | Ändern Sie Prozesseinstellungen, z. B. durch Aufrufen der SetPriorityClass-Routine im Benutzermodus. |
PROCESS_SUSPEND_RESUME | Anhalten oder Fortsetzen des Prozesses. |
PROCESS_TERMINATE | Beenden Sie den Prozess, z. B. durch Aufrufen der Benutzermodus-Terminverarbeitungsroutine . |
PROCESS_VM_OPERATION | Ändern Sie den Adressraum des Prozesses, z. B. durch Aufrufen der Benutzermodusroutinen WriteProcessMemory und VirtualProtectEx . |
PROCESS_VM_WRITE | Schreiben Sie in den Adressraum des Prozesses, z. B. durch Aufrufen der WriteProcessMemory-Routine im Benutzermodus. |
Treiber können die folgenden Flags für Handles für Threads verwenden:
Flag | Zulässige Vorgänge |
---|---|
THREAD_DIRECT_IMPERSONATION | Aktivieren Sie einen Serverthread, um die Identität eines seiner Clients zu annehmen. |
THREAD_IMPERSONATE | Identität des anonymen Anmeldetokens des Betriebssystems annehmen, z. B. durch Aufrufen der ImpersonateAnonymousToken-Routine im Benutzermodus. |
THREAD_SET_CONTEXT | Ändern Sie den Ausführungskontext des Threads, z. B. durch Aufrufen der SetThreadContext-Routine im Benutzermodus. |
THREAD_SET_INFORMATION | Ändern Sie Threadeinstellungen, z. B. durch Aufrufen der SetThreadIdealProcessor-Routine im Benutzermodus. Die Vorgänge, die durch dieses Zugriffsrecht zulässig sind, sind eine Übermenge der Vorgänge, die durch das THREAD_SET_LIMITED_INFORMATION Zugriffsrecht zulässig sind. |
THREAD_SET_LIMITED_INFORMATION | Ändern Sie einen begrenzten Satz von Threadeinstellungen, z. B. durch Aufrufen der Benutzermodusroutinen SetThreadAffinityMask und SetThreadPriorityBoost . |
THREAD_SET_THREAD_TOKEN | Ändern Sie die Eigenschaften des Identitätswechseltokens des Threads, z. B. durch Aufrufen der SetTokenInformation-Routine im Benutzermodus. |
THREAD_SUSPEND_RESUME | Anhalten oder Fortsetzen des Threads, z. B. durch Aufrufen der Benutzermodusroutinen SuspendThread und ResumeThread . |
THREAD_TERMINATE | Beenden Sie den Thread, z. B. durch Aufrufen der Terminthread-Routine im Benutzermodus. |
OriginalDesiredAccess
Ein ACCESS_MASK Wert, der den ursprünglichen Zugriff angibt, der für das Handle angefordert wurde.
Hinweise
Sie können niemals Zugriffsrechte hinzufügen, die über das im DesiredAccess-Element angegebene hinausgehen. Wenn das Zugriffsrecht als änderbares Flag aufgeführt ist, kann das Zugriffsrecht entfernt werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Server 2008 und höheren Versionen des Windows-Betriebssystems. |
Header | wdm.h (einschließlich Wdm.h, Ntddk.h, Ntifs.h) |