Freigeben über


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)

Weitere Informationen

ACCESS_MASK

ObjectPreCallback