| OLD | NEW |
| 1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 // This file holds definitions related to the ntdll API. | 5 // This file holds definitions related to the ntdll API. |
| 6 | 6 |
| 7 #ifndef SANDBOX_WIN_SRC_NT_INTERNALS_H__ | 7 #ifndef SANDBOX_WIN_SRC_NT_INTERNALS_H__ |
| 8 #define SANDBOX_WIN_SRC_NT_INTERNALS_H__ | 8 #define SANDBOX_WIN_SRC_NT_INTERNALS_H__ |
| 9 | 9 |
| 10 #include <windows.h> | 10 #include <windows.h> |
| (...skipping 315 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 326 union { | 326 union { |
| 327 DWORD UniqueProcessId; | 327 DWORD UniqueProcessId; |
| 328 PVOID padding_for_x64_2; | 328 PVOID padding_for_x64_2; |
| 329 }; | 329 }; |
| 330 union { | 330 union { |
| 331 DWORD InheritedFromUniqueProcessId; | 331 DWORD InheritedFromUniqueProcessId; |
| 332 PVOID padding_for_x64_3; | 332 PVOID padding_for_x64_3; |
| 333 }; | 333 }; |
| 334 } PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION; | 334 } PROCESS_BASIC_INFORMATION, *PPROCESS_BASIC_INFORMATION; |
| 335 | 335 |
| 336 typedef NTSTATUS (WINAPI *NtQueryInformationProcessFunction)( | 336 typedef NTSTATUS(WINAPI* NtQueryInformationProcessFunction)( |
| 337 IN HANDLE ProcessHandle, | 337 IN HANDLE ProcessHandle, |
| 338 IN PROCESSINFOCLASS ProcessInformationClass, | 338 IN PROCESSINFOCLASS ProcessInformationClass, |
| 339 OUT PVOID ProcessInformation, | 339 OUT PVOID ProcessInformation, |
| 340 IN ULONG ProcessInformationLength, | 340 IN ULONG ProcessInformationLength, |
| 341 OUT PULONG ReturnLength OPTIONAL); | 341 OUT PULONG ReturnLength OPTIONAL); |
| 342 | 342 |
| 343 typedef NTSTATUS (WINAPI *NtSetInformationProcessFunction)( | 343 typedef NTSTATUS(WINAPI* NtSetInformationProcessFunction)( |
| 344 HANDLE ProcessHandle, | 344 HANDLE ProcessHandle, |
| 345 IN PROCESSINFOCLASS ProcessInformationClass, | 345 IN PROCESSINFOCLASS ProcessInformationClass, |
| 346 IN PVOID ProcessInformation, | 346 IN PVOID ProcessInformation, |
| 347 IN ULONG ProcessInformationLength); | 347 IN ULONG ProcessInformationLength); |
| 348 | 348 |
| 349 typedef NTSTATUS (WINAPI *NtOpenThreadTokenFunction) ( | 349 typedef NTSTATUS (WINAPI *NtOpenThreadTokenFunction) ( |
| 350 IN HANDLE ThreadHandle, | 350 IN HANDLE ThreadHandle, |
| 351 IN ACCESS_MASK DesiredAccess, | 351 IN ACCESS_MASK DesiredAccess, |
| 352 IN BOOLEAN OpenAsSelf, | 352 IN BOOLEAN OpenAsSelf, |
| 353 OUT PHANDLE TokenHandle); | 353 OUT PHANDLE TokenHandle); |
| 354 | 354 |
| 355 typedef NTSTATUS (WINAPI *NtOpenThreadTokenExFunction) ( | 355 typedef NTSTATUS (WINAPI *NtOpenThreadTokenExFunction) ( |
| 356 IN HANDLE ThreadHandle, | 356 IN HANDLE ThreadHandle, |
| 357 IN ACCESS_MASK DesiredAccess, | 357 IN ACCESS_MASK DesiredAccess, |
| 358 IN BOOLEAN OpenAsSelf, | 358 IN BOOLEAN OpenAsSelf, |
| 359 IN ULONG HandleAttributes, | 359 IN ULONG HandleAttributes, |
| 360 OUT PHANDLE TokenHandle); | 360 OUT PHANDLE TokenHandle); |
| 361 | 361 |
| 362 typedef NTSTATUS (WINAPI *NtOpenProcessTokenFunction) ( | 362 typedef NTSTATUS (WINAPI *NtOpenProcessTokenFunction) ( |
| 363 IN HANDLE ProcessHandle, | 363 IN HANDLE ProcessHandle, |
| 364 IN ACCESS_MASK DesiredAccess, | 364 IN ACCESS_MASK DesiredAccess, |
| 365 OUT PHANDLE TokenHandle); | 365 OUT PHANDLE TokenHandle); |
| 366 | 366 |
| 367 typedef NTSTATUS (WINAPI *NtOpenProcessTokenExFunction) ( | 367 typedef NTSTATUS (WINAPI *NtOpenProcessTokenExFunction) ( |
| 368 IN HANDLE ProcessHandle, | 368 IN HANDLE ProcessHandle, |
| 369 IN ACCESS_MASK DesiredAccess, | 369 IN ACCESS_MASK DesiredAccess, |
| 370 IN ULONG HandleAttributes, | 370 IN ULONG HandleAttributes, |
| 371 OUT PHANDLE TokenHandle); | 371 OUT PHANDLE TokenHandle); |
| 372 | 372 |
| 373 typedef NTSTATUS (WINAPI * RtlCreateUserThreadFunction)( | 373 typedef NTSTATUS(WINAPI* NtQueryInformationTokenFunction)( |
| 374 IN HANDLE Process, | 374 IN HANDLE TokenHandle, |
| 375 IN PSECURITY_DESCRIPTOR ThreadSecurityDescriptor, | 375 IN TOKEN_INFORMATION_CLASS TokenInformationClass, |
| 376 IN BOOLEAN CreateSuspended, | 376 OUT PVOID TokenInformation, |
| 377 IN ULONG ZeroBits, | 377 IN ULONG TokenInformationLength, |
| 378 IN SIZE_T MaximumStackSize, | 378 OUT PULONG ReturnLength); |
| 379 IN SIZE_T CommittedStackSize, | 379 |
| 380 IN LPTHREAD_START_ROUTINE StartAddress, | 380 typedef NTSTATUS(WINAPI* RtlCreateUserThreadFunction)( |
| 381 IN PVOID Parameter, | 381 IN HANDLE Process, |
| 382 OUT PHANDLE Thread, | 382 IN PSECURITY_DESCRIPTOR ThreadSecurityDescriptor, |
| 383 OUT PCLIENT_ID ClientId); | 383 IN BOOLEAN CreateSuspended, |
| 384 IN ULONG ZeroBits, |
| 385 IN SIZE_T MaximumStackSize, |
| 386 IN SIZE_T CommittedStackSize, |
| 387 IN LPTHREAD_START_ROUTINE StartAddress, |
| 388 IN PVOID Parameter, |
| 389 OUT PHANDLE Thread, |
| 390 OUT PCLIENT_ID ClientId); |
| 391 |
| 392 typedef NTSTATUS(WINAPI* RtlConvertSidToUnicodeStringFunction)( |
| 393 OUT PUNICODE_STRING UnicodeString, |
| 394 IN PSID Sid, |
| 395 IN BOOLEAN AllocateDestinationString); |
| 396 |
| 397 typedef VOID(WINAPI* RtlFreeUnicodeStringFunction)( |
| 398 IN OUT PUNICODE_STRING UnicodeString); |
| 384 | 399 |
| 385 // ----------------------------------------------------------------------- | 400 // ----------------------------------------------------------------------- |
| 386 // Registry | 401 // Registry |
| 387 | 402 |
| 403 typedef enum _KEY_VALUE_INFORMATION_CLASS { |
| 404 KeyValueFullInformation = 1 |
| 405 } KEY_VALUE_INFORMATION_CLASS, |
| 406 *PKEY_VALUE_INFORMATION_CLASS; |
| 407 |
| 408 typedef struct _KEY_VALUE_FULL_INFORMATION { |
| 409 ULONG TitleIndex; |
| 410 ULONG Type; |
| 411 ULONG DataOffset; |
| 412 ULONG DataLength; |
| 413 ULONG NameLength; |
| 414 WCHAR Name[1]; |
| 415 } KEY_VALUE_FULL_INFORMATION, *PKEY_VALUE_FULL_INFORMATION; |
| 416 |
| 388 typedef NTSTATUS (WINAPI *NtCreateKeyFunction)( | 417 typedef NTSTATUS (WINAPI *NtCreateKeyFunction)( |
| 389 OUT PHANDLE KeyHandle, | 418 OUT PHANDLE KeyHandle, |
| 390 IN ACCESS_MASK DesiredAccess, | 419 IN ACCESS_MASK DesiredAccess, |
| 391 IN POBJECT_ATTRIBUTES ObjectAttributes, | 420 IN POBJECT_ATTRIBUTES ObjectAttributes, |
| 392 IN ULONG TitleIndex, | 421 IN ULONG TitleIndex, |
| 393 IN PUNICODE_STRING Class OPTIONAL, | 422 IN PUNICODE_STRING Class OPTIONAL, |
| 394 IN ULONG CreateOptions, | 423 IN ULONG CreateOptions, |
| 395 OUT PULONG Disposition OPTIONAL); | 424 OUT PULONG Disposition OPTIONAL); |
| 396 | 425 |
| 397 typedef NTSTATUS (WINAPI *NtOpenKeyFunction)( | 426 typedef NTSTATUS (WINAPI *NtOpenKeyFunction)( |
| 398 OUT PHANDLE KeyHandle, | 427 OUT PHANDLE KeyHandle, |
| 399 IN ACCESS_MASK DesiredAccess, | 428 IN ACCESS_MASK DesiredAccess, |
| 400 IN POBJECT_ATTRIBUTES ObjectAttributes); | 429 IN POBJECT_ATTRIBUTES ObjectAttributes); |
| 401 | 430 |
| 402 typedef NTSTATUS (WINAPI *NtOpenKeyExFunction)( | 431 typedef NTSTATUS (WINAPI *NtOpenKeyExFunction)( |
| 403 OUT PHANDLE KeyHandle, | 432 OUT PHANDLE KeyHandle, |
| 404 IN ACCESS_MASK DesiredAccess, | 433 IN ACCESS_MASK DesiredAccess, |
| 405 IN POBJECT_ATTRIBUTES ObjectAttributes, | 434 IN POBJECT_ATTRIBUTES ObjectAttributes, |
| 406 IN DWORD open_options); | 435 IN DWORD open_options); |
| 407 | 436 |
| 408 typedef NTSTATUS (WINAPI *NtDeleteKeyFunction)( | 437 typedef NTSTATUS (WINAPI *NtDeleteKeyFunction)( |
| 409 IN HANDLE KeyHandle); | 438 IN HANDLE KeyHandle); |
| 410 | 439 |
| 440 typedef NTSTATUS(WINAPI* RtlFormatCurrentUserKeyPathFunction)( |
| 441 OUT PUNICODE_STRING RegistryPath); |
| 442 |
| 443 typedef NTSTATUS(WINAPI* NtQueryValueKeyFunction)(IN HANDLE KeyHandle, |
| 444 IN PUNICODE_STRING ValueName, |
| 445 IN KEY_VALUE_INFORMATION_CLASS |
| 446 KeyValueInformationClass, |
| 447 OUT PVOID KeyValueInformation, |
| 448 IN ULONG Length, |
| 449 OUT PULONG ResultLength); |
| 450 |
| 451 typedef NTSTATUS(WINAPI* NtSetValueKeyFunction)(IN HANDLE KeyHandle, |
| 452 IN PUNICODE_STRING ValueName, |
| 453 IN ULONG TitleIndex OPTIONAL, |
| 454 IN ULONG Type, |
| 455 IN PVOID Data, |
| 456 IN ULONG DataSize); |
| 457 |
| 411 // ----------------------------------------------------------------------- | 458 // ----------------------------------------------------------------------- |
| 412 // Memory | 459 // Memory |
| 413 | 460 |
| 414 // Don't really need this structure right now. | 461 // Don't really need this structure right now. |
| 415 typedef PVOID PRTL_HEAP_PARAMETERS; | 462 typedef PVOID PRTL_HEAP_PARAMETERS; |
| 416 | 463 |
| 417 typedef PVOID (WINAPI *RtlCreateHeapFunction)( | 464 typedef PVOID (WINAPI *RtlCreateHeapFunction)( |
| 418 IN ULONG Flags, | 465 IN ULONG Flags, |
| 419 IN PVOID HeapBase OPTIONAL, | 466 IN PVOID HeapBase OPTIONAL, |
| 420 IN SIZE_T ReserveSize OPTIONAL, | 467 IN SIZE_T ReserveSize OPTIONAL, |
| (...skipping 435 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 856 typedef NTSTATUS(WINAPI* GetOPMRandomNumberFunction)( | 903 typedef NTSTATUS(WINAPI* GetOPMRandomNumberFunction)( |
| 857 OPM_PROTECTED_OUTPUT_HANDLE protected_output, | 904 OPM_PROTECTED_OUTPUT_HANDLE protected_output, |
| 858 DXGKMDT_OPM_RANDOM_NUMBER* random_number); | 905 DXGKMDT_OPM_RANDOM_NUMBER* random_number); |
| 859 | 906 |
| 860 typedef NTSTATUS(WINAPI* SetOPMSigningKeyAndSequenceNumbersFunction)( | 907 typedef NTSTATUS(WINAPI* SetOPMSigningKeyAndSequenceNumbersFunction)( |
| 861 OPM_PROTECTED_OUTPUT_HANDLE protected_output, | 908 OPM_PROTECTED_OUTPUT_HANDLE protected_output, |
| 862 const DXGKMDT_OPM_ENCRYPTED_PARAMETERS* parameters); | 909 const DXGKMDT_OPM_ENCRYPTED_PARAMETERS* parameters); |
| 863 | 910 |
| 864 #endif // SANDBOX_WIN_SRC_NT_INTERNALS_H__ | 911 #endif // SANDBOX_WIN_SRC_NT_INTERNALS_H__ |
| 865 | 912 |
| OLD | NEW |