blob: 774a28fbde86c0e4a74cf2ac7b00d22cb1676ef5 [file]
/* **********************************************************
* Copyright (c) 2011-2017 Google, Inc. All rights reserved.
* **********************************************************/
/* Dr. Memory: the memory debugger
*
* This library is free software; you can redistribute it and/or
* modify it under the terms of the GNU Lesser General Public
* License as published by the Free Software Foundation;
* version 2.1 of the License, and no later version.
* This library is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
* Library General Public License for more details.
* You should have received a copy of the GNU Lesser General Public
* License along with this library; if not, write to the Free Software
* Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA.
*/
#include "dr_api.h"
#include "drsyscall.h"
#include "drsyscall_os.h"
#include "drsyscall_windows.h"
#include "../wininc/wdm.h"
#include "../wininc/ndk_extypes.h"
#include "../wininc/ndk_lpctypes.h"
#include "../wininc/ndk_iotypes.h"
#include "../wininc/wdm.h"
#include "../wininc/ntifs.h"
#include "../wininc/ntalpctyp.h"
#include "table_defines.h"
extern drsys_sysnum_t sysnum_SetInformationFile;
/* i#1549 We use the following approach here:
* 1) We use macros below to describe secondary syscall entries.
* 2) We add all syscalls with secondary components in the separate
* hashtable using drsys_sysnum_t.
*/
#define ENTRY_QueryKey(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(KEY_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W, 0, typename},\
{2, -4, WI},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
/* Since _ version of structure names stored in PDBs, we use the same names here. */
syscall_info_t syscall_QueryKey_info[] = {
{{0,0},"NtQueryKey.KeyBasicInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey("KeyBasicInformation", "_KEY_BASIC_INFORMATION")
},
{{0,0},"NtQueryKey.KeyNodeInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey("KeyNodeInformation", "_KEY_NODE_INFORMATION")
},
{{0,0},"NtQueryKey.KeyFullInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey("KeyFullInformation", "_KEY_FULL_INFORMATION")
},
{{0,0},"NtQueryKey.KeyNameInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey("KeyNameInformation", "_KEY_NAME_INFORMATION")
},
{{0,0},"NtQueryKey.KeyCachedInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey("KeyCachedInformation", "_KEY_CACHED_INFORMATION")
},
{{0,0},"NtQueryKey.KeyFlagsInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
/* Reserved */
ENTRY_QueryKey("KeyFlagsInformation", "_KEY_FLAGS_INFORMATION")
},
{{0,0},"NtQueryKey.KeyVirtualizationInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey("KeyVirtualizationInformation",
"_KEY_VIRTUALIZATION_INFORMATION")
},
{{0,0},"NtQueryKey.KeyHandleTagsInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey("KeyHandleTagsInformation", "_KEY_HANDLE_TAGS_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryKey.UNKNOWN", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryKey(NULL, NULL)
},
};
#define ENTRY_EnumerateKey(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{2, sizeof(KEY_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{3, -4, W, 0, typename},\
{3, -5, WI},\
{4, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{5, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_EnumerateKey_info[] = {
{{0,0},"NtEnumerateKey.KeyBasicInformation", OK, RNTST, 6,
ENTRY_EnumerateKey("KeyBasicInformation", "_KEY_BASIC_INFORMATION")
},
{{0,0},"NtEnumerateKey.KeyNodeInformation", OK, RNTST, 6,
ENTRY_EnumerateKey("KeyNodeInformation", "_KEY_NODE_INFORMATION")
},
{{0,0},"NtEnumerateKey.KeyFullInformation", OK, RNTST, 6,
ENTRY_EnumerateKey("KeyFullInformation", "_KEY_FULL_INFORMATION")
},
{{0,0},"NtEnumerateKey.KeyNameInformation", OK, RNTST, 6,
ENTRY_EnumerateKey("KeyNameInformation", "_KEY_NAME_INFORMATION")
},
{{0,0},"NtEnumerateKey.KeyCachedInformation", OK, RNTST, 6,
ENTRY_EnumerateKey("KeyCachedInformation", "_KEY_CACHED_INFORMATION")
},
{{0,0},"NtEnumerateKey.KeyFlagsInformation", OK, RNTST, 6,
/* Reserved */
ENTRY_EnumerateKey("KeyFlagsInformation", "_KEY_FLAGS_INFORMATION")
},
{{0,0},"NtEnumerateKey.KeyVirtualizationInformation", OK, RNTST, 6,
ENTRY_EnumerateKey("KeyVirtualizationInformation",
"_KEY_VIRTUALIZATION_INFORMATION")
},
{{0,0},"NtEnumerateKey.KeyHandleTagsInformation", OK, RNTST, 6,
ENTRY_EnumerateKey("KeyHandleTagsInformation", "_KEY_HANDLE_TAGS_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtEnumerateKey.UNKNOWN", OK, RNTST, 6,
ENTRY_EnumerateKey(NULL, NULL)
},
};
#define ENTRY_EnumerateValueKey(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{2, sizeof(KEY_VALUE_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{3, -4, W, 0, typename},\
{3, -5, WI},\
{4, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{5, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_EnumerateValueKey_info[] = {
{{0,0},"NtEnumerateValueKey.KeyValueBasicInformation", OK, RNTST, 6,
ENTRY_EnumerateValueKey("KeyValueBasicInformation",
"_KEY_VALUE_BASIC_INFORMATION")
},
{{0,0},"NtEnumerateValueKey.KeyValueFullInformation", OK, RNTST, 6,
ENTRY_EnumerateValueKey("KeyValueFullInformation",
"_KEY_VALUE_FULL_INFORMATION")
},
{{0,0},"NtEnumerateValueKey.KeyValuePartialInformation", OK, RNTST, 6,
ENTRY_EnumerateValueKey("KeyValuePartialInformation",
"_KEY_VALUE_PARTIAL_INFORMATION")
},
{{0,0},"NtEnumerateValueKey.KeyValueFullInformationAlign64", OK, RNTST, 6,
ENTRY_EnumerateValueKey("KeyValueFullInformationAlign64",
"_KEY_VALUE_FULL_INFORMATION")
},
{{0,0},"NtEnumerateValueKey.KeyValuePartialInformationAlign64", OK, RNTST, 6,
ENTRY_EnumerateValueKey("KeyValuePartialInformationAlign64",
"_KEY_VALUE_PARTIAL_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtEnumerateValueKey.UNKNOWN", OK, RNTST, 6,
ENTRY_EnumerateValueKey(NULL, NULL)
},
};
#define ENTRY_QueryDirectoryFile(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{2, sizeof(PIO_APC_ROUTINE), SYSARG_INLINED, DRSYS_TYPE_FUNCTION},\
{3, sizeof(PVOID), SYSARG_INLINED, DRSYS_TYPE_VOID},\
{4, sizeof(IO_STATUS_BLOCK), W|HT, DRSYS_TYPE_IO_STATUS_BLOCK},\
{5, -6, W, 0, typename},\
{6, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{7, sizeof(FILE_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{8, sizeof(BOOLEAN), SYSARG_INLINED, DRSYS_TYPE_BOOL},\
{9, sizeof(UNICODE_STRING), R|CT, SYSARG_TYPE_UNICODE_STRING},\
{10, sizeof(BOOLEAN), SYSARG_INLINED, DRSYS_TYPE_BOOL},\
}
syscall_info_t syscall_QueryDirectoryFile_info[] = {
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtQueryDirectoryFile.FileDirectoryInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileDirectoryInformation",
"_FILE_DIRECTORY_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileFullDirectoryInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileFullDirectoryInformation",
"_FILE_FULL_DIR_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileBothDirectoryInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileBothDirectoryInformation",
"_FILE_BOTH_DIR_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileBasicInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileBasicInformation",
"_FILE_BASIC_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileStandardInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileStandardInformation",
"_FILE_STANDARD_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileInternalInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileInternalInformation",
"_FILE_INTERNAL_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileEaInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileEaInformation",
"_FILE_EA_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileAccessInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileAccessInformation",
"_FILE_ACCESS_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileNameInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileNameInformation",
"_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileRenameInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileRenameInformation",
"_FILE_RENAME_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileLinkInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileLinkInformation",
"_FILE_LINK_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileNamesInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileNamesInformation",
"_FILE_NAMES_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileDispositionInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileDispositionInformation",
"_FILE_DISPOSITION_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FilePositionInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FilePositionInformation",
"_FILE_POSITION_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileFullEaInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileFullEaInformation",
"_FILE_FULL_EA_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileModeInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileModeInformation",
"_FILE_MODE_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileAlignmentInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileAlignmentInformation",
"_FILE_ALIGNMENT_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileAllInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileAllInformation",
"_FILE_ALL_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileAllocationInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileAllocationInformation",
"_FILE_ALLOCATION_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileEndOfFileInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileEndOfFileInformation",
"_FILE_END_OF_FILE_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileAlternateNameInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileAlternateNameInformation",
"_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileStreamInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileStreamInformation",
"_FILE_STREAM_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FilePipeInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FilePipeInformation",
"_FILE_PIPE_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FilePipeLocalInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FilePipeLocalInformation",
"_FILE_PIPE_LOCAL_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FilePipeRemoteInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FilePipeRemoteInformation",
"_FILE_PIPE_REMOTE_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileMailslotQueryInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileMailslotQueryInformation",
"_FILE_MAILSLOT_QUERY_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileMailslotSetInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileMailslotSetInformation",
"_FILE_MAILSLOT_SET_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileCompressionInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileCompressionInformation",
"_FILE_COMPRESSION_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileObjectIdInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileObjectIdInformation",
"_FILE_OBJECTID_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileCompletionInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileCompletionInformation",
"_FILE_COMPLETION_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileMoveClusterInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileMoveClusterInformation",
"_FILE_MOVE_CLUSTER_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileQuotaInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileQuotaInformation", "_FILE_QUOTA_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileReparsePointInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileReparsePointInformation",
"_FILE_REPARSE_POINT_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileNetworkOpenInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileNetworkOpenInformation",
"_FILE_NETWORK_OPEN_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileAttributeTagInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileAttributeTagInformation",
"_FILE_ATTRIBUTE_TAG_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileTrackingInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileTrackingInformation",
"_FILE_TRACKING_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileIdBothDirectoryInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileIdBothDirectoryInformation",
"_FILE_ID_BOTH_DIR_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileIdFullDirectoryInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileIdFullDirectoryInformation",
"_FILE_ID_FULL_DIR_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileValidDataLengthInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileValidDataLengthInformation",
"_FILE_VALID_DATA_LENGTH_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileShortNameInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileShortNameInformation",
"_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileIoCompletionNotificationInformation", OK, RNTST, 11,
/* Reserved */
ENTRY_QueryDirectoryFile("FileIoCompletionNotificationInformation",
"_FILE_IO_COMPLETION_NOTIFICATION_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileIoStatusBlockRangeInformation", OK, RNTST, 11,
/* Reserved */
ENTRY_QueryDirectoryFile("FileIoStatusBlockRangeInformation",
"_FILE_IO_STATUS_BLOCK_RANGE_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileIoPriorityHintInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileIoPriorityHintInformation",
"_FILE_IO_PRIORITY_HINT_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileSfioReserveInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileSfioReserveInformation",
"_FILE_SFIO_RESERVE_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileSfioVolumeInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileSfioVolumeInformation",
"_FILE_SFIO_VOLUME_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileHardLinkInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileHardLinkInformation",
"_FILE_LINKS_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileProcessIdsUsingFileInformation", OK, RNTST, 11,
/* Reserved */
ENTRY_QueryDirectoryFile("FileProcessIdsUsingFileInformation",
"_FILE_PROCESS_IDS_USING_FILE_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileNormalizedNameInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileNormalizedNameInformation",
"_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileNetworkPhysicalNameInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileNetworkPhysicalNameInformation",
"_FILE_NETWORK_PHYSICAL_NAME_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileIdGlobalTxDirectoryInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileIdGlobalTxDirectoryInformation",
"_FILE_ID_GLOBAL_TX_DIR_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileIsRemoteDeviceInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileIsRemoteDeviceInformation",
"_FILE_IS_REMOTE_DEVICE_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileAttributeCacheInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileAttributeCacheInformation",
"_FILE_ATTRIBUTE_CACHE_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileNumaNodeInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileNumaNodeInformation",
"_FILE_NUMA_NODE_INFORMATION")
},
{{0,0},"NtQueryDirectoryFile.FileStandardLinkInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileStandardLinkInformation",
"_FILE_STANDARD_LINK_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileRemoteProtocolInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileRemoteProtocolInformation",
"_FILE_REMOTE_PROTOCOL_INFORMATION") /* Reserved */
},
{{0,0},"NtQueryDirectoryFile.FileReplaceCompletionInformation", OK, RNTST, 11,
ENTRY_QueryDirectoryFile("FileReplaceCompletionInformation",
"_FILE_COMPLETION_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryDirectoryFile.UNKNOWN", OK, RNTST, 11,
ENTRY_QueryDirectoryFile(NULL, NULL)
},
};
#define ENTRY_QueryEvent(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(EVENT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W, 0, typename},\
{2, -4, WI},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryEvent_info[] = {
{{0,0},"NtQueryEvent.EventBasicInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryEvent("EventBasicInformation", "_EVENT_BASIC_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryEvent.UNKNOWN", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryEvent(NULL, NULL)
},
};
#define ENTRY_QueryInformationAtom(classname, typename)\
{\
{0, sizeof(ATOM), SYSARG_INLINED, DRSYS_TYPE_ATOM},\
{1, sizeof(ATOM_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W, 0, typename},\
{2, -4, WI},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryInformationAtom_info[] = {
{{0,0},"NtQueryInformationAtom.AtomBasicInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryInformationAtom("AtomBasicInformation", "_ATOM_BASIC_INFORMATION")
},
{{0,0},"NtQueryInformationAtom.AtomTableInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryInformationAtom("AtomTableInformation", "_ATOM_TABLE_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryInformationAtom.UNKNOWN", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryInformationAtom(NULL, NULL)
},
};
#define ENTRY_QueryInformationFile(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(IO_STATUS_BLOCK), W|HT, DRSYS_TYPE_IO_STATUS_BLOCK},\
{2, -3, W, 0, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(FILE_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
}
syscall_info_t syscall_QueryInformationFile_info[] = {
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtQueryInformationFile.FileDirectoryInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileDirectoryInformation", "_FILE_DIRECTORY_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileFullDirectoryInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileFullDirectoryInformation", "_FILE_FULL_DIR_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileBothDirectoryInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileBothDirectoryInformation", "_FILE_BOTH_DIR_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileBasicInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileBasicInformation", "_FILE_BASIC_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileStandardInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileStandardInformation", "_FILE_STANDARD_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileInternalInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileInternalInformation", "_FILE_INTERNAL_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileEaInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileEaInformation", "_FILE_EA_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileAccessInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileAccessInformation", "_FILE_ACCESS_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileNameInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileRenameInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileRenameInformation", "_FILE_RENAME_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileLinkInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileLinkInformation", "_FILE_LINK_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileNamesInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileNamesInformation", "_FILE_NAMES_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileDispositionInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileDispositionInformation", "_FILE_DISPOSITION_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FilePositionInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FilePositionInformation", "_FILE_POSITION_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileFullEaInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileFullEaInformation", "_FILE_FULL_EA_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileModeInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileModeInformation", "_FILE_MODE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileAlignmentInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileAlignmentInformation", "_FILE_ALIGNMENT_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileAllInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileAllInformation", "_FILE_ALL_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileAllocationInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileAllocationInformation", "_FILE_ALLOCATION_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileEndOfFileInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileEndOfFileInformation", "_FILE_END_OF_FILE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileAlternateNameInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileAlternateNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileStreamInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileStreamInformation", "_FILE_STREAM_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FilePipeInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FilePipeInformation", "_FILE_PIPE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FilePipeLocalInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FilePipeLocalInformation", "_FILE_PIPE_LOCAL_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FilePipeRemoteInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FilePipeRemoteInformation", "_FILE_PIPE_REMOTE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileMailslotQueryInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileMailslotQueryInformation", "_FILE_MAILSLOT_QUERY_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileMailslotSetInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileMailslotSetInformation", "_FILE_MAILSLOT_SET_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileCompressionInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileCompressionInformation", "_FILE_COMPRESSION_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileObjectIdInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileObjectIdInformation", "_FILE_OBJECTID_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileCompletionInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileCompletionInformation", "_FILE_COMPLETION_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileMoveClusterInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileMoveClusterInformation", "_FILE_MOVE_CLUSTER_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileQuotaInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileQuotaInformation", "_FILE_QUOTA_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileReparsePointInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileReparsePointInformation", "_FILE_REPARSE_POINT_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileNetworkOpenInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileNetworkOpenInformation", "_FILE_NETWORK_OPEN_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileAttributeTagInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileAttributeTagInformation", "_FILE_ATTRIBUTE_TAG_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileTrackingInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileTrackingInformation", "_FILE_TRACKING_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileIdBothDirectoryInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileIdBothDirectoryInformation", "_FILE_ID_BOTH_DIR_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileIdFullDirectoryInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileIdFullDirectoryInformation", "_FILE_ID_FULL_DIR_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileValidDataLengthInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileValidDataLengthInformation", "_FILE_VALID_DATA_LENGTH_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileShortNameInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileShortNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileIoCompletionNotificationInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileIoCompletionNotificationInformation", "_FILE_IO_COMPLETION_NOTIFICATION_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileIoStatusBlockRangeInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileIoStatusBlockRangeInformation", "_FILE_IO_STATUS_BLOCK_RANGE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileIoPriorityHintInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileIoPriorityHintInformation", "_FILE_IO_PRIORITY_HINT_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileSfioReserveInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileSfioReserveInformation", "_FILE_SFIO_RESERVE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileSfioVolumeInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileSfioVolumeInformation", "_FILE_SFIO_VOLUME_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileHardLinkInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileHardLinkInformation", "_FILE_LINKS_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileProcessIdsUsingFileInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileProcessIdsUsingFileInformation", "_FILE_PROCESS_IDS_USING_FILE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileNormalizedNameInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileNormalizedNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileNetworkPhysicalNameInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileNetworkPhysicalNameInformation", "_FILE_NETWORK_PHYSICAL_NAME_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileIdGlobalTxDirectoryInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileIdGlobalTxDirectoryInformation", "_FILE_ID_GLOBAL_TX_DIR_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileIsRemoteDeviceInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileIsRemoteDeviceInformation", "_FILE_IS_REMOTE_DEVICE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileAttributeCacheInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileAttributeCacheInformation", "_FILE_ATTRIBUTE_CACHE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileNumaNodeInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileNumaNodeInformation", "_FILE_NUMA_NODE_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileStandardLinkInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileStandardLinkInformation", "_FILE_STANDARD_LINK_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileRemoteProtocolInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileRemoteProtocolInformation", "_FILE_REMOTE_PROTOCOL_INFORMATION")
},
{{0,0},"NtQueryInformationFile.FileReplaceCompletionInformation", OK, RNTST, 5,
ENTRY_QueryInformationFile("FileReplaceCompletionInformation", "_FILE_COMPLETION_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryInformationFile.UNKNOWN", OK, RNTST, 5,
ENTRY_QueryInformationFile(NULL, NULL)
},
};
#define ENTRY_QueryInformationPort(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(PORT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W, 0, typename},\
{2, -4, WI},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryInformationPort_info[] = {
{{0,0},"NtQueryInformationPort.PortBasicInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryInformationPort("PortBasicInformation", "_PORT_BASIC_INFORMATION")
},
{{0,0},"NtQueryInformationPort.PortDumpInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryInformationPort("PortDumpInformation", "_PORT_DUMP_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryInformationPort.UNKNOWN", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryInformationPort(NULL, NULL)
},
};
#define ENTRY_QueryIoCompletion(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(IO_COMPLETION_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W, 0, typename},\
{2, -4, WI},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryIoCompletion_info[] = {
{{0,0},"NtQueryIoCompletion.IoCompletionBasicInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryIoCompletion("IoCompletionBasicInformation", "_IO_COMPLETION_BASIC_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryIoCompletion.UNKNOWN", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryIoCompletion(NULL, NULL)
},
};
#define ENTRY_QueryMutant(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(MUTANT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W, 0, typename},\
{2, -4, WI},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryMutant_info[] = {
{{0,0},"NtQueryMutant.MutantBasicInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryMutant("MutantBasicInformation", "_MUTANT_BASIC_INFORMATION")
},
{{0,0},"NtQueryMutant.MutantOwnerInformation", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryMutant("MutantOwnerInformation", "_MUTANT_OWNER_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryMutant.UNKNOWN", OK|SYSINFO_RET_SMALL_WRITE_LAST, RNTST, 5,
ENTRY_QueryMutant(NULL, NULL)
},
};
#define ENTRY_QueryVolumeInformationFile(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(IO_STATUS_BLOCK), W|HT, DRSYS_TYPE_IO_STATUS_BLOCK},\
{2, -3, W, 0, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(FS_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
}
syscall_info_t syscall_QueryVolumeInformationFile_info[] = {
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtQueryVolumeInformationFile.FileFsVolumeInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsVolumeInformation", "_FILE_FS_VOLUME_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsLabelInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsLabelInformation", "_FILE_FS_LABEL_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsSizeInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsSizeInformation", "_FILE_FS_SIZE_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsDeviceInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsDeviceInformation", "_FILE_FS_DEVICE_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsAttributeInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsAttributeInformation", "_FILE_FS_ATTRIBUTE_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsControlInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsControlInformation", "_FILE_FS_CONTROL_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsFullSizeInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsFullSizeInformation", "_FILE_FS_FULL_SIZE_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsObjectIdInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsObjectIdInformation", "_FILE_FS_OBJECTID_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsDriverPathInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsDriverPathInformation", "_FILE_FS_DRIVER_PATH_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsVolumeFlagsInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsVolumeFlagsInformation", "_FILE_FS_VOLUME_FLAGS_INFORMATION")
},
{{0,0},"NtQueryVolumeInformationFile.FileFsSectorSizeInformation", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile("FileFsSectorSizeInformation", "_FILE_FS_SECTOR_SIZE_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryVolumeInformationFile.UNKNOWN", OK, RNTST, 5,
ENTRY_QueryVolumeInformationFile(NULL, NULL)
},
};
#define ENTRY_SetInformationFile(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(IO_STATUS_BLOCK), W|HT, DRSYS_TYPE_IO_STATUS_BLOCK},\
{2, -3, SYSARG_NON_MEMARG, 0, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(FILE_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
}
syscall_info_t syscall_SetInformationFile_info[] = {
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtSetInformationFile.FileDirectoryInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileDirectoryInformation", "_FILE_DIRECTORY_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileFullDirectoryInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileFullDirectoryInformation", "_FILE_FULL_DIR_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileBothDirectoryInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileBothDirectoryInformation", "_FILE_BOTH_DIR_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileBasicInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileBasicInformation", "_FILE_BASIC_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileStandardInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileStandardInformation", "_FILE_STANDARD_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileInternalInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileInternalInformation", "_FILE_INTERNAL_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileEaInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileEaInformation", "_FILE_EA_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileAccessInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileAccessInformation", "_FILE_ACCESS_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileNameInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileRenameInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileRenameInformation", "_FILE_RENAME_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileLinkInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileLinkInformation", "_FILE_LINK_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileNamesInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileNamesInformation", "_FILE_NAMES_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileDispositionInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileDispositionInformation", "_FILE_DISPOSITION_INFORMATION")
},
{{0,0},"NtSetInformationFile.FilePositionInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FilePositionInformation", "_FILE_POSITION_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileFullEaInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileFullEaInformation", "_FILE_FULL_EA_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileModeInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileModeInformation", "_FILE_MODE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileAlignmentInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileAlignmentInformation", "_FILE_ALIGNMENT_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileAllInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileAllInformation", "_FILE_ALL_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileAllocationInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileAllocationInformation", "_FILE_ALLOCATION_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileEndOfFileInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileEndOfFileInformation", "_FILE_END_OF_FILE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileAlternateNameInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileAlternateNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileStreamInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileStreamInformation", "_FILE_STREAM_INFORMATION")
},
{{0,0},"NtSetInformationFile.FilePipeInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FilePipeInformation", "_FILE_PIPE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FilePipeLocalInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FilePipeLocalInformation", "_FILE_PIPE_LOCAL_INFORMATION")
},
{{0,0},"NtSetInformationFile.FilePipeRemoteInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FilePipeRemoteInformation", "_FILE_PIPE_REMOTE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileMailslotQueryInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileMailslotQueryInformation", "_FILE_MAILSLOT_QUERY_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileMailslotSetInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileMailslotSetInformation", "_FILE_MAILSLOT_SET_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileCompressionInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileCompressionInformation", "_FILE_COMPRESSION_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileObjectIdInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileObjectIdInformation", "_FILE_OBJECTID_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileCompletionInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileCompletionInformation", "_FILE_COMPLETION_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileMoveClusterInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileMoveClusterInformation", "_FILE_MOVE_CLUSTER_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileQuotaInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileQuotaInformation", "_FILE_QUOTA_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileReparsePointInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileReparsePointInformation", "_FILE_REPARSE_POINT_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileNetworkOpenInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileNetworkOpenInformation", "_FILE_NETWORK_OPEN_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileAttributeTagInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileAttributeTagInformation", "_FILE_ATTRIBUTE_TAG_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileTrackingInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileTrackingInformation", "_FILE_TRACKING_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileIdBothDirectoryInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileIdBothDirectoryInformation", "_FILE_ID_BOTH_DIR_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileIdFullDirectoryInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileIdFullDirectoryInformation", "_FILE_ID_FULL_DIR_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileValidDataLengthInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileValidDataLengthInformation", "_FILE_VALID_DATA_LENGTH_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileShortNameInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileShortNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileIoCompletionNotificationInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileIoCompletionNotificationInformation", "_FILE_IO_COMPLETION_NOTIFICATION_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileIoStatusBlockRangeInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileIoStatusBlockRangeInformation", "_FILE_IO_STATUS_BLOCK_RANGE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileIoPriorityHintInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileIoPriorityHintInformation", "_FILE_IO_PRIORITY_HINT_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileSfioReserveInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileSfioReserveInformation", "_FILE_SFIO_RESERVE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileSfioVolumeInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileSfioVolumeInformation", "_FILE_SFIO_VOLUME_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileHardLinkInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileHardLinkInformation", "_FILE_LINKS_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileProcessIdsUsingFileInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileProcessIdsUsingFileInformation", "_FILE_PROCESS_IDS_USING_FILE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileNormalizedNameInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileNormalizedNameInformation", "_FILE_NAME_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileNetworkPhysicalNameInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileNetworkPhysicalNameInformation", "_FILE_NETWORK_PHYSICAL_NAME_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileIdGlobalTxDirectoryInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileIdGlobalTxDirectoryInformation", "_FILE_ID_GLOBAL_TX_DIR_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileIsRemoteDeviceInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileIsRemoteDeviceInformation", "_FILE_IS_REMOTE_DEVICE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileAttributeCacheInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileAttributeCacheInformation", "_FILE_ATTRIBUTE_CACHE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileNumaNodeInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileNumaNodeInformation", "_FILE_NUMA_NODE_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileStandardLinkInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileStandardLinkInformation", "_FILE_STANDARD_LINK_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileRemoteProtocolInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileRemoteProtocolInformation", "_FILE_REMOTE_PROTOCOL_INFORMATION")
},
{{0,0},"NtSetInformationFile.FileReplaceCompletionInformation", OK, RNTST, 5,
ENTRY_SetInformationFile("FileReplaceCompletionInformation", "_FILE_COMPLETION_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetInformationFile.UNKNOWN", OK, RNTST, 5,
ENTRY_SetInformationFile(NULL, NULL), &sysnum_SetInformationFile
},
};
#define ENTRY_SetInformationKey(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(KEY_SET_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R, 0, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_SetInformationKey_info[] = {
{{0,0},"NtSetInformationKey.KeyWriteTimeInformation", OK, RNTST, 4,
ENTRY_SetInformationKey("KeyWriteTimeInformation", "_KEY_WRITE_TIME_INFORMATION")
},
{{0,0},"NtSetInformationKey.KeyWow64FlagsInformation", OK, RNTST, 4,
ENTRY_SetInformationKey("KeyWow64FlagsInformation", "_KEY_WOW64_FLAGS_INFORMATION")
},
{{0,0},"NtSetInformationKey.KeyControlFlagsInformation", OK, RNTST, 4,
ENTRY_SetInformationKey("KeyControlFlagsInformation", "KEY_CONTROL_FLAGS_INFORMATION")
},
{{0,0},"NtSetInformationKey.KeySetVirtualizationInformation", OK, RNTST, 4,
ENTRY_SetInformationKey("KeySetVirtualizationInformation", "_KEY_SET_VIRTUALIZATION_INFORMATION")
},
{{0,0},"NtSetInformationKey.KeySetDebugInformation", OK, RNTST, 4,
ENTRY_SetInformationKey("KeySetDebugInformation", NULL)
},
{{0,0},"NtSetInformationKey.KeySetHandleTagsInformation", OK, RNTST, 4,
ENTRY_SetInformationKey("KeySetHandleTagsInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetInformationKey.UNKNOWN", OK, RNTST, 4,
ENTRY_SetInformationKey(NULL, NULL)
},
};
#define ENTRY_SetInformationObject(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(OBJECT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R, 0, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_SetInformationObject_info[] = {
{{0,0},"NtSetInformationObject.ObjectBasicInformation", OK, RNTST, 4,
ENTRY_SetInformationObject("ObjectBasicInformation", "_PUBLIC_OBJECT_BASIC_INFORMATION")
},
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtSetInformationObject.ObjectTypeInformation", OK, RNTST, 4,
ENTRY_SetInformationObject("ObjectTypeInformation", "_PUBLIC_OBJECT_TYPE_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetInformationObject.UNKNOWN", OK, RNTST, 4,
ENTRY_SetInformationObject(NULL, NULL)
},
};
#define ENTRY_SetVolumeInformationFile(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(IO_STATUS_BLOCK), W|HT, DRSYS_TYPE_IO_STATUS_BLOCK},\
{2, -3, R, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(FS_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
}
syscall_info_t syscall_SetVolumeInformationFile_info[] = {
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtSetVolumeInformationFile.FileFsVolumeInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsVolumeInformation", "_FILE_FS_VOLUME_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsLabelInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsLabelInformation", "_FILE_FS_LABEL_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsSizeInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsSizeInformation", "_FILE_FS_SIZE_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsDeviceInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsDeviceInformation", "_FILE_FS_DEVICE_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsAttributeInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsAttributeInformation", "_FILE_FS_ATTRIBUTE_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsControlInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsControlInformation", "_FILE_FS_CONTROL_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsFullSizeInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsFullSizeInformation", "_FILE_FS_FULL_SIZE_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsObjectIdInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsObjectIdInformation", "_FILE_FS_OBJECTID_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsDriverPathInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsDriverPathInformation", "_FILE_FS_DRIVER_PATH_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsVolumeFlagsInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsVolumeFlagsInformation", "_FILE_FS_VOLUME_FLAGS_INFORMATION")
},
{{0,0},"NtSetVolumeInformationFile.FileFsSectorSizeInformation", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile("FileFsSectorSizeInformation", "_FILE_FS_SECTOR_SIZE_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetVolumeInformationFile.UNKNOWN", OK, RNTST, 5,
ENTRY_SetVolumeInformationFile(NULL, NULL)
},
};
#define ENTRY_AlpcQueryInformation(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(ALPC_PORT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W|HT, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_AlpcQueryInformation_info[] = {
{{0,0},"NtAlpcQueryInformation.AlpcBasicInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcBasicInformation", "_ALPC_BASIC_INFORMATION")
},
{{0,0},"NtAlpcQueryInformation.AlpcPortInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcPortInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcAssociateCompletionPortInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcAssociateCompletionPortInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcConnectedSIDInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcConnectedSIDInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcServerInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcServerInformation", "_ALPC_SERVER_INFORMATION")
},
{{0,0},"NtAlpcQueryInformation.AlpcMessageZoneInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcMessageZoneInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcRegisterCompletionListInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcRegisterCompletionListInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcUnregisterCompletionListInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcUnregisterCompletionListInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcAdjustCompletionListConcurrencyCountInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcAdjustCompletionListConcurrencyCountInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcRegisterCallbackInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcRegisterCallbackInformation", NULL)
},
{{0,0},"NtAlpcQueryInformation.AlpcCompletionListRundownInformation", OK, RNTST, 5,
ENTRY_AlpcQueryInformation("AlpcCompletionListRundownInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtAlpcQueryInformation.UNKNOWN", OK, RNTST, 5,
ENTRY_AlpcQueryInformation(NULL, NULL)
},
};
#define ENTRY_AlpcSetInformation(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(ALPC_PORT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R|HT, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_AlpcSetInformation_info[] = {
{{0,0},"NtAlpcSetInformation.AlpcBasicInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcBasicInformation", "_ALPC_BASIC_INFORMATION")
},
{{0,0},"NtAlpcSetInformation.AlpcPortInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcPortInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcAssociateCompletionPortInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcAssociateCompletionPortInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcConnectedSIDInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcConnectedSIDInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcServerInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcServerInformation", "_ALPC_SERVER_INFORMATION")
},
{{0,0},"NtAlpcSetInformation.AlpcMessageZoneInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcMessageZoneInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcRegisterCompletionListInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcRegisterCompletionListInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcUnregisterCompletionListInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcUnregisterCompletionListInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcAdjustCompletionListConcurrencyCountInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcAdjustCompletionListConcurrencyCountInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcRegisterCallbackInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcRegisterCallbackInformation", NULL)
},
{{0,0},"NtAlpcSetInformation.AlpcCompletionListRundownInformation", OK, RNTST, 4,
ENTRY_AlpcSetInformation("AlpcCompletionListRundownInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtAlpcSetInformation.UNKNOWN", OK, RNTST, 4,
ENTRY_AlpcSetInformation(NULL, NULL)
},
};
#define ENTRY_AlpcQueryInformationMessage(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(PORT_MESSAGE), R|CT, SYSARG_TYPE_PORT_MESSAGE},\
{2, sizeof(ALPC_MESSAGE_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{3, -4, W|HT, DRSYS_TYPE_STRUCT, typename},\
{4, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{5, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_AlpcQueryInformationMessage_info[] = {
{{0,0},"NtAlpcQueryInformationMessage.AlpcMessageSidInformation", OK, RNTST, 6,
ENTRY_AlpcQueryInformationMessage("AlpcMessageSidInformation", NULL)
},
{{0,0},"NtAlpcQueryInformationMessage.AlpcMessageTokenModifiedIdInformation", OK, RNTST, 6,
ENTRY_AlpcQueryInformationMessage("AlpcMessageTokenModifiedIdInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtAlpcQueryInformationMessage.UNKNOWN", OK, RNTST, 6,
ENTRY_AlpcQueryInformationMessage(NULL, NULL)
},
};
#define ENTRY_QueryInformationEnlistment(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(ENLISTMENT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W|HT, DRSYS_TYPE_STRUCT, typename},\
{2, -4, WI|HT, DRSYS_TYPE_STRUCT},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryInformationEnlistment_info[] = {
{{0,0},"NtQueryInformationEnlistment.EnlistmentBasicInformation", OK, RNTST, 5,
ENTRY_QueryInformationEnlistment("EnlistmentBasicInformation", "_ENLISTMENT_BASIC_INFORMATION")
},
{{0,0},"NtQueryInformationEnlistment.EnlistmentRecoveryInformation", OK, RNTST, 5,
ENTRY_QueryInformationEnlistment("EnlistmentRecoveryInformation", NULL)
},
{{0,0},"NtQueryInformationEnlistment.EnlistmentCrmInformation", OK, RNTST, 5,
ENTRY_QueryInformationEnlistment("EnlistmentCrmInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryInformationEnlistment.UNKNOWN", OK, RNTST, 5,
ENTRY_QueryInformationEnlistment(NULL, NULL)
},
};
#define ENTRY_SetInformationEnlistment(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(ENLISTMENT_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R|HT, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_SetInformationEnlistment_info[] = {
{{0,0},"NtSetInformationEnlistment.EnlistmentBasicInformation", OK, RNTST, 4,
ENTRY_SetInformationEnlistment("EnlistmentBasicInformation", "_ENLISTMENT_BASIC_INFORMATION")
},
{{0,0},"NtSetInformationEnlistment.EnlistmentRecoveryInformation", OK, RNTST, 4,
ENTRY_SetInformationEnlistment("EnlistmentRecoveryInformation", NULL)
},
{{0,0},"NtSetInformationEnlistment.EnlistmentCrmInformation", OK, RNTST, 4,
ENTRY_SetInformationEnlistment("EnlistmentCrmInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetInformationEnlistment.UNKNOWN", OK, RNTST, 4,
ENTRY_SetInformationEnlistment(NULL, NULL)
},
};
#define ENTRY_QueryInformationResourceManager(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(RESOURCEMANAGER_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W|HT, DRSYS_TYPE_STRUCT, typename},\
{2, -4, WI|HT, DRSYS_TYPE_STRUCT},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryInformationResourceManager_info[] = {
{{0,0},"NtQueryInformationResourceManager.ResourceManagerBasicInformation", OK, RNTST, 5,
ENTRY_QueryInformationResourceManager("ResourceManagerBasicInformation",
"_RESOURCEMANAGER_BASIC_INFORMATION")
},
{{0,0},"NtQueryInformationResourceManager.ResourceManagerCompletionInformation", OK, RNTST, 5,
ENTRY_QueryInformationResourceManager("ResourceManagerCompletionInformation",
"_RESOURCEMANAGER_COMPLETION_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryInformationResourceManager.UNKNOWN", OK, RNTST, 5,
ENTRY_QueryInformationResourceManager(NULL, NULL)
},
};
#define ENTRY_SetInformationResourceManager(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(RESOURCEMANAGER_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R|HT, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_SetInformationResourceManager_info[] = {
{{0,0},"NtSetInformationResourceManager.ResourceManagerBasicInformation", OK, RNTST, 4,
ENTRY_SetInformationResourceManager("ResourceManagerBasicInformation",
"_RESOURCEMANAGER_BASIC_INFORMATION")
},
{{0,0},"NtSetInformationResourceManager.ResourceManagerCompletionInformation", OK, RNTST, 4,
ENTRY_SetInformationResourceManager("ResourceManagerCompletionInformation",
"_RESOURCEMANAGER_COMPLETION_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetInformationResourceManager.UNKNOWN", OK, RNTST, 4,
ENTRY_SetInformationResourceManager(NULL, NULL)
},
};
#define ENTRY_QueryInformationTransaction(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(TRANSACTION_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W|HT, DRSYS_TYPE_STRUCT, typename},\
{2, -4, WI|HT, DRSYS_TYPE_STRUCT},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryInformationTransaction_info[] = {
{{0,0},"NtQueryInformationTransaction.TransactionBasicInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransaction("TransactionBasicInformation", "_TRANSACTION_BASIC_INFORMATION")
},
{{0,0},"NtQueryInformationTransaction.TransactionPropertiesInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransaction("TransactionPropertiesInformation",
"_TRANSACTION_PROPERTIES_INFORMATION")
},
{{0,0},"NtQueryInformationTransaction.TransactionEnlistmentInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransaction("TransactionEnlistmentInformation", NULL)
},
{{0,0},"NtQueryInformationTransaction.TransactionSuperiorEnlistmentInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransaction("TransactionSuperiorEnlistmentInformation",
"_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION")
},
{{0,0},"NtQueryInformationTransaction.TransactionBindInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransaction("TransactionBindInformation", "_TRANSACTION_BIND_INFORMATION")
},
{{0,0},"NtQueryInformationTransaction.TransactionDTCPrivateInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransaction("TransactionDTCPrivateInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryInformationTransaction.UNKNOWN", OK, RNTST, 5,
ENTRY_QueryInformationTransaction(NULL, NULL)
},
};
#define ENTRY_SetInformationTransaction(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(TRANSACTION_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R|HT, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_SetInformationTransaction_info[] = {
{{0,0},"NtSetInformationTransaction.TransactionBasicInformation", OK, RNTST, 4,
ENTRY_SetInformationTransaction("TransactionBasicInformation", "_TRANSACTION_BASIC_INFORMATION")
},
{{0,0},"NtSetInformationTransaction.TransactionPropertiesInformation", OK, RNTST, 4,
ENTRY_SetInformationTransaction("TransactionPropertiesInformation",
"_TRANSACTION_PROPERTIES_INFORMATION")
},
{{0,0},"NtSetInformationTransaction.TransactionEnlistmentInformation", OK, RNTST, 4,
ENTRY_SetInformationTransaction("TransactionEnlistmentInformation", NULL)
},
{{0,0},"NtSetInformationTransaction.TransactionSuperiorEnlistmentInformation", OK, RNTST, 4,
ENTRY_SetInformationTransaction("TransactionSuperiorEnlistmentInformation",
"_TRANSACTION_SUPERIOR_ENLISTMENT_INFORMATION")
},
{{0,0},"NtSetInformationTransaction.TransactionBindInformation", OK, RNTST, 4,
ENTRY_SetInformationTransaction("TransactionBindInformation", "_TRANSACTION_BIND_INFORMATION")
},
{{0,0},"NtSetInformationTransaction.TransactionDTCPrivateInformation", OK, RNTST, 4,
ENTRY_SetInformationTransaction("TransactionDTCPrivateInformation", NULL)
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetInformationTransaction.UNKNOWN", OK, RNTST, 4,
ENTRY_SetInformationTransaction(NULL, NULL)
},
};
#define ENTRY_QueryInformationTransactionManager(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(TRANSACTIONMANAGER_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, W|HT, DRSYS_TYPE_STRUCT, typename},\
{2, -4, WI|HT, DRSYS_TYPE_STRUCT},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{4, sizeof(ULONG), W|HT, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_QueryInformationTransactionManager_info[] = {
{{0,0},"NtQueryInformationTransactionManager.TransactionManagerBasicInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransactionManager("TransactionManagerBasicInformation",
"_TRANSACTIONMANAGER_BASIC_INFORMATION")
},
{{0,0},"NtQueryInformationTransactionManager.TransactionManagerLogInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransactionManager("TransactionManagerLogInformation",
"_TRANSACTIONMANAGER_LOG_INFORMATION")
},
{{0,0},"NtQueryInformationTransactionManager.TransactionManagerLogPathInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransactionManager("TransactionManagerLogPathInformation",
"_TRANSACTIONMANAGER_LOGPATH_INFORMATION")
},
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtQueryInformationTransactionManager.TransactionManagerRecoveryInformation", OK, RNTST, 5,
ENTRY_QueryInformationTransactionManager("TransactionManagerRecoveryInformation",
"_TRANSACTIONMANAGER_RECOVERY_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtQueryInformationTransactionManager.UNKNOWN", OK, RNTST, 5,
ENTRY_QueryInformationTransactionManager(NULL, NULL)
},
};
#define ENTRY_SetInformationTransactionManager(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
{1, sizeof(TRANSACTIONMANAGER_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R|HT, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_SetInformationTransactionManager_info[] = {
{{0,0},"NtSetInformationTransactionManager.TransactionManagerBasicInformation", OK, RNTST, 4,
ENTRY_SetInformationTransactionManager("TransactionManagerBasicInformation",
"_TRANSACTIONMANAGER_BASIC_INFORMATION")
},
{{0,0},"NtSetInformationTransactionManager.TransactionManagerLogInformation", OK, RNTST, 4,
ENTRY_SetInformationTransactionManager("TransactionManagerLogInformation",
"_TRANSACTIONMANAGER_LOG_INFORMATION")
},
{{0,0},"NtSetInformationTransactionManager.TransactionManagerLogPathInformation", OK, RNTST, 4,
ENTRY_SetInformationTransactionManager("TransactionManagerLogPathInformation",
"_TRANSACTIONMANAGER_LOGPATH_INFORMATION")
},
{SECONDARY_TABLE_SKIP_ENTRY},
{{0,0},"NtSetInformationTransactionManager.TransactionManagerRecoveryInformation", OK, RNTST, 4,
ENTRY_SetInformationTransactionManager("TransactionManagerRecoveryInformation",
"_TRANSACTIONMANAGER_RECOVERY_INFORMATION")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{0,0},"NtSetInformationTransactionManager.UNKNOWN", OK, RNTST, 4,
ENTRY_SetInformationTransactionManager(NULL, NULL)
},
};
#define ENTRY_SetTimerEx(classname, typename)\
{\
{0, sizeof(HANDLE), SYSARG_INLINED, DRSYS_TYPE_HANDLE},\
{1, sizeof(TIMER_SET_INFORMATION_CLASS), SYSARG_INLINED, DRSYS_TYPE_SIGNED_INT, classname},\
{2, -3, R|W|HT, DRSYS_TYPE_STRUCT, typename},\
{3, sizeof(ULONG), SYSARG_INLINED, DRSYS_TYPE_UNSIGNED_INT},\
}
syscall_info_t syscall_SetTimerEx_info[] = {
{{WIN7,0},"NtSetTimerEx.TimerSetCoalescableTimer", OK, RNTST, 4,
ENTRY_SetTimerEx("TimerSetCoalescableTimer", "_TIMER_SET_COALESCABLE_TIMER")
},
{SECONDARY_TABLE_ENTRY_MAX_NUMBER},
{{WIN7,0},"NtSetTimerEx.UNKNOWN", OK, RNTST, 4,
ENTRY_SetTimerEx(NULL, NULL)
},
};