OB_PRE_CREATE_HANDLE_INFORMATION構造体 (wdm.h)
OB_PRE_CREATE_HANDLE_INFORMATION構造体は、開かれているスレッドまたはプロセス ハンドルに関する情報を ObjectPreCallback ルーチンに提供します。
構文
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION {
ACCESS_MASK DesiredAccess;
ACCESS_MASK OriginalDesiredAccess;
} OB_PRE_CREATE_HANDLE_INFORMATION, *POB_PRE_CREATE_HANDLE_INFORMATION;
メンバー
DesiredAccess
ハンドル に 付与するアクセス権を指定するACCESS_MASK値。 既定では、このメンバーは OriginalDesiredAccess と等しくなりますが、 ObjectPreCallback ルーチンはこの値を変更して、許可されるアクセスを制限できます。
ドライバーは、プロセスへのハンドルに次のフラグを使用できます。
フラグ | 許可される操作 |
---|---|
PROCESS_CREATE_PROCESS | プロセスの新しい子プロセスを作成します。 |
PROCESS_CREATE_THREAD | プロセスのコンテキストで新しいスレッドを作成します。 |
PROCESS_DUP_HANDLE | ユーザー モードの DuplicateHandle ルーチンを呼び出すなど、プロセスのコンテキスト間で重複するハンドル。 |
PROCESS_SET_QUOTA | ユーザー モードの SetProcessWorkingSetSize ルーチンを呼び出すなど、プロセスのワーキング セット サイズを設定します。 |
PROCESS_SET_INFORMATION | ユーザー モード の SetPriorityClass ルーチンを呼び出すことによって、プロセス設定を変更します。 |
PROCESS_SUSPEND_RESUME | プロセスを中断または再開します。 |
PROCESS_TERMINATE | ユーザー モードの TerminateProcess ルーチンを呼び出して、プロセス を終了 します。 |
PROCESS_VM_OPERATION | ユーザー モードの WriteProcessMemory ルーチンや VirtualProtectEx ルーチンを呼び出すことによって、プロセスのアドレス空間を変更します。 |
PROCESS_VM_WRITE | ユーザー モードの WriteProcessMemory ルーチンを呼び出すなど、プロセスのアドレス空間に書き込みます。 |
ドライバーは、スレッドへのハンドルに次のフラグを使用できます。
フラグ | 許可される操作 |
---|---|
THREAD_DIRECT_IMPERSONATION | サーバー スレッドがクライアントの 1 つを偽装できるようにします。 |
THREAD_IMPERSONATE | ユーザー モードの ImpersonateAnonymousToken ルーチンを呼び出すことによって、オペレーティング システムの匿名ログオン トークンを偽装します。 |
THREAD_SET_CONTEXT | ユーザー モードの SetThreadContext ルーチンを呼び出すことによって、スレッドの実行コンテキストを変更します。 |
THREAD_SET_INFORMATION | ユーザー モード の SetThreadIdealProcessor ルーチンを呼び出して、スレッド設定を変更します。 このアクセス権で許可される操作は、THREAD_SET_LIMITED_INFORMATIONアクセス権によって許可される操作のスーパーセットです。 |
THREAD_SET_LIMITED_INFORMATION | ユーザー モードの SetThreadAffinityMask ルーチンや SetThreadPriorityBoost ルーチンを呼び出すなど、限られたスレッド設定セットを変更します。 |
THREAD_SET_THREAD_TOKEN | ユーザー モードの SetTokenInformation ルーチンを呼び出すことによって、スレッドの偽装トークンのプロパティを変更します。 |
THREAD_SUSPEND_RESUME | ユーザー モードの SuspendThread ルーチンや ResumeThread ルーチンを呼び出すなど、スレッドを中断または再開します。 |
THREAD_TERMINATE | ユーザー モードの TerminateThread ルーチンを呼び出して、スレッドを終了します。 |
OriginalDesiredAccess
ハンドルに対して要求された元のアクセスを指定するACCESS_MASK値。
注釈
DesiredAccess メンバーで指定されているアクセス権を超えてアクセス権を追加することはできません。 アクセス権が変更可能なフラグとしてリストされている場合は、アクセス権を削除できます。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Server 2008 以降のバージョンの Windows オペレーティング システムで使用できます。 |
Header | wdm.h (Wdm.h、Ntddk.h、Ntifs.h を含む) |