📄 ntapi.h
字号:
ULONG EntryCount; ULONG RecursionCount; ULONG NumberOfSharedWaiters; ULONG NumberOfExclusiveWaiters;} DEBUG_LOCK_INFORMATION, *PDEBUG_LOCK_INFORMATION;/* Jobs */NTOSAPINTSTATUSNTAPIZwCreateJobObject( /*OUT*/ PHANDLE JobHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);NTOSAPINTSTATUSNTAPIZwOpenJobObject( /*OUT*/ PHANDLE JobHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes);NTOSAPINTSTATUSNTAPIZwTerminateJobObject( /*IN*/ HANDLE JobHandle, /*IN*/ NTSTATUS ExitStatus);NTOSAPINTSTATUSNTAPIZwAssignProcessToJobObject( /*IN*/ HANDLE JobHandle, /*IN*/ HANDLE ProcessHandle);NTOSAPINTSTATUSNTAPIZwQueryInformationJobObject( /*IN*/ HANDLE JobHandle, /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, /*OUT*/ PVOID JobInformation, /*IN*/ ULONG JobInformationLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwSetInformationJobObject( /*IN*/ HANDLE JobHandle, /*IN*/ JOBOBJECTINFOCLASS JobInformationClass, /*IN*/ PVOID JobInformation, /*IN*/ ULONG JobInformationLength);/* Tokens */NTOSAPINTSTATUSNTAPIZwCreateToken( /*OUT*/ PHANDLE TokenHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, /*IN*/ TOKEN_TYPE Type, /*IN*/ PLUID AuthenticationId, /*IN*/ PLARGE_INTEGER ExpirationTime, /*IN*/ PTOKEN_USER User, /*IN*/ PTOKEN_GROUPS Groups, /*IN*/ PTOKEN_PRIVILEGES Privileges, /*IN*/ PTOKEN_OWNER Owner, /*IN*/ PTOKEN_PRIMARY_GROUP PrimaryGroup, /*IN*/ PTOKEN_DEFAULT_DACL DefaultDacl, /*IN*/ PTOKEN_SOURCE Source);NTOSAPINTSTATUSNTAPINtOpenProcessToken( /*IN*/ HANDLE ProcessHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*OUT*/ PHANDLE TokenHandle);NTOSAPINTSTATUSNTAPIZwOpenProcessToken( /*IN*/ HANDLE ProcessHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*OUT*/ PHANDLE TokenHandle);NTOSAPINTSTATUSNTAPINtOpenThreadToken( /*IN*/ HANDLE ThreadHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ BOOLEAN OpenAsSelf, /*OUT*/ PHANDLE TokenHandle);NTOSAPINTSTATUSNTAPIZwOpenThreadToken( /*IN*/ HANDLE ThreadHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ BOOLEAN OpenAsSelf, /*OUT*/ PHANDLE TokenHandle);NTOSAPINTSTATUSNTAPINtDuplicateToken( /*IN*/ HANDLE ExistingTokenHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, /*IN*/ BOOLEAN EffectiveOnly, /*IN*/ TOKEN_TYPE TokenType, /*OUT*/ PHANDLE NewTokenHandle);NTOSAPINTSTATUSNTAPIZwDuplicateToken( /*IN*/ HANDLE ExistingTokenHandle, /*IN*/ ACCESS_MASK DesiredAccess, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, /*IN*/ BOOLEAN EffectiveOnly, /*IN*/ TOKEN_TYPE TokenType, /*OUT*/ PHANDLE NewTokenHandle);NTOSAPINTSTATUSNTAPIZwFilterToken( /*IN*/ HANDLE ExistingTokenHandle, /*IN*/ ULONG Flags, /*IN*/ PTOKEN_GROUPS SidsToDisable, /*IN*/ PTOKEN_PRIVILEGES PrivilegesToDelete, /*IN*/ PTOKEN_GROUPS SidsToRestricted, /*OUT*/ PHANDLE NewTokenHandle);NTOSAPINTSTATUSNTAPINtAdjustPrivilegesToken( /*IN*/ HANDLE TokenHandle, /*IN*/ BOOLEAN DisableAllPrivileges, /*IN*/ PTOKEN_PRIVILEGES NewState, /*IN*/ ULONG BufferLength, /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/, /*OUT*/ PULONG ReturnLength);NTOSAPINTSTATUSNTAPIZwAdjustPrivilegesToken( /*IN*/ HANDLE TokenHandle, /*IN*/ BOOLEAN DisableAllPrivileges, /*IN*/ PTOKEN_PRIVILEGES NewState, /*IN*/ ULONG BufferLength, /*OUT*/ PTOKEN_PRIVILEGES PreviousState /*OPTIONAL*/, /*OUT*/ PULONG ReturnLength);NTOSAPINTSTATUSNTAPIZwAdjustGroupsToken( /*IN*/ HANDLE TokenHandle, /*IN*/ BOOLEAN ResetToDefault, /*IN*/ PTOKEN_GROUPS NewState, /*IN*/ ULONG BufferLength, /*OUT*/ PTOKEN_GROUPS PreviousState /*OPTIONAL*/, /*OUT*/ PULONG ReturnLength);NTOSAPINTSTATUSNTAPINtQueryInformationToken( /*IN*/ HANDLE TokenHandle, /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, /*OUT*/ PVOID TokenInformation, /*IN*/ ULONG TokenInformationLength, /*OUT*/ PULONG ReturnLength);NTOSAPINTSTATUSNTAPIZwQueryInformationToken( /*IN*/ HANDLE TokenHandle, /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, /*OUT*/ PVOID TokenInformation, /*IN*/ ULONG TokenInformationLength, /*OUT*/ PULONG ReturnLength);NTOSAPINTSTATUSNTAPIZwSetInformationToken( /*IN*/ HANDLE TokenHandle, /*IN*/ TOKEN_INFORMATION_CLASS TokenInformationClass, /*IN*/ PVOID TokenInformation, /*IN*/ ULONG TokenInformationLength);/* Time */NTOSAPINTSTATUSNTAPIZwQuerySystemTime( /*OUT*/ PLARGE_INTEGER CurrentTime);NTOSAPINTSTATUSNTAPIZwSetSystemTime( /*IN*/ PLARGE_INTEGER NewTime, /*OUT*/ PLARGE_INTEGER OldTime /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwQueryPerformanceCounter( /*OUT*/ PLARGE_INTEGER PerformanceCount, /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwQueryPerformanceCounter( /*OUT*/ PLARGE_INTEGER PerformanceCount, /*OUT*/ PLARGE_INTEGER PerformanceFrequency /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwQueryTimerResolution( /*OUT*/ PULONG CoarsestResolution, /*OUT*/ PULONG FinestResolution, /*OUT*/ PULONG ActualResolution);NTOSAPINTSTATUSNTAPIZwDelayExecution( /*IN*/ BOOLEAN Alertable, /*IN*/ PLARGE_INTEGER Interval);NTOSAPINTSTATUSNTAPIZwYieldExecution( VOID);NTOSAPIULONGNTAPIZwGetTickCount( VOID);/* Execution profiling */NTOSAPINTSTATUSNTAPIZwCreateProfile( /*OUT*/ PHANDLE ProfileHandle, /*IN*/ HANDLE ProcessHandle, /*IN*/ PVOID Base, /*IN*/ ULONG Size, /*IN*/ ULONG BucketShift, /*IN*/ PULONG Buffer, /*IN*/ ULONG BufferLength, /*IN*/ KPROFILE_SOURCE Source, /*IN*/ ULONG ProcessorMask);NTOSAPINTSTATUSNTAPIZwSetIntervalProfile( /*IN*/ ULONG Interval, /*IN*/ KPROFILE_SOURCE Source);NTOSAPINTSTATUSNTAPIZwQueryIntervalProfile( /*IN*/ KPROFILE_SOURCE Source, /*OUT*/ PULONG Interval);NTOSAPINTSTATUSNTAPIZwStartProfile( /*IN*/ HANDLE ProfileHandle);NTOSAPINTSTATUSNTAPIZwStopProfile( /*IN*/ HANDLE ProfileHandle);/* Local Procedure Call (LPC) */typedef struct _LPC_MESSAGE { USHORT DataSize; USHORT MessageSize; USHORT MessageType; USHORT VirtualRangesOffset; CLIENT_ID ClientId; ULONG MessageId; ULONG SectionSize; UCHAR Data[ANYSIZE_ARRAY];} LPC_MESSAGE, *PLPC_MESSAGE;#define LPC_MESSAGE_BASE_SIZE 24typedef enum _LPC_TYPE { LPC_NEW_MESSAGE, LPC_REQUEST, LPC_REPLY, LPC_DATAGRAM, LPC_LOST_REPLY, LPC_PORT_CLOSED, LPC_CLIENT_DIED, LPC_EXCEPTION, LPC_DEBUG_EVENT, LPC_ERROR_EVENT, LPC_CONNECTION_REQUEST, LPC_CONNECTION_REFUSED, LPC_MAXIMUM} LPC_TYPE;typedef struct _LPC_SECTION_WRITE { ULONG Length; HANDLE SectionHandle; ULONG SectionOffset; ULONG ViewSize; PVOID ViewBase; PVOID TargetViewBase;} LPC_SECTION_WRITE, *PLPC_SECTION_WRITE;typedef struct _LPC_SECTION_READ { ULONG Length; ULONG ViewSize; PVOID ViewBase;} LPC_SECTION_READ, *PLPC_SECTION_READ;NTOSAPINTSTATUSNTAPIZwCreatePort( /*OUT*/ PHANDLE PortHandle, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, /*IN*/ ULONG MaxDataSize, /*IN*/ ULONG MaxMessageSize, /*IN*/ ULONG Reserved);NTOSAPINTSTATUSNTAPIZwCreateWaitablePort( /*OUT*/ PHANDLE PortHandle, /*IN*/ POBJECT_ATTRIBUTES ObjectAttributes, /*IN*/ ULONG MaxDataSize, /*IN*/ ULONG MaxMessageSize, /*IN*/ ULONG Reserved);NTOSAPINTSTATUSNTAPINtConnectPort( /*OUT*/ PHANDLE PortHandle, /*IN*/ PUNICODE_STRING PortName, /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos, /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/, /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/, /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/, /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/, /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwConnectPort( /*OUT*/ PHANDLE PortHandle, /*IN*/ PUNICODE_STRING PortName, /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos, /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/, /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/, /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/, /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/, /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwConnectPort( /*OUT*/ PHANDLE PortHandle, /*IN*/ PUNICODE_STRING PortName, /*IN*/ PSECURITY_QUALITY_OF_SERVICE SecurityQos, /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/, /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/, /*OUT*/ PULONG MaxMessageSize /*OPTIONAL*/, /*IN OUT*/ PVOID ConnectData /*OPTIONAL*/, /*IN OUT*/ PULONG ConnectDataLength /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwListenPort( /*IN*/ HANDLE PortHandle, /*OUT*/ PLPC_MESSAGE Message);NTOSAPINTSTATUSNTAPIZwAcceptConnectPort( /*OUT*/ PHANDLE PortHandle, /*IN*/ ULONG PortIdentifier, /*IN*/ PLPC_MESSAGE Message, /*IN*/ BOOLEAN Accept, /*IN OUT*/ PLPC_SECTION_WRITE WriteSection /*OPTIONAL*/, /*IN OUT*/ PLPC_SECTION_READ ReadSection /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwCompleteConnectPort( /*IN*/ HANDLE PortHandle);NTOSAPINTSTATUSNTAPINtRequestPort( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE RequestMessage);NTOSAPINTSTATUSNTAPINtRequestWaitReplyPort( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE RequestMessage, /*OUT*/ PLPC_MESSAGE ReplyMessage);NTOSAPINTSTATUSNTAPIZwRequestWaitReplyPort( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE RequestMessage, /*OUT*/ PLPC_MESSAGE ReplyMessage);NTOSAPINTSTATUSNTAPIZwReplyPort( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE ReplyMessage);NTOSAPINTSTATUSNTAPIZwReplyWaitReplyPort( /*IN*/ HANDLE PortHandle, /*IN OUT*/ PLPC_MESSAGE ReplyMessage);NTOSAPINTSTATUSNTAPIZwReplyWaitReceivePort( /*IN*/ HANDLE PortHandle, /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/, /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, /*OUT*/ PLPC_MESSAGE Message);NTOSAPINTSTATUSNTAPIZwReplyWaitReceivePortEx( /*IN*/ HANDLE PortHandle, /*OUT*/ PULONG PortIdentifier /*OPTIONAL*/, /*IN*/ PLPC_MESSAGE ReplyMessage /*OPTIONAL*/, /*OUT*/ PLPC_MESSAGE Message, /*IN*/ PLARGE_INTEGER Timeout);NTOSAPINTSTATUSNTAPIZwReadRequestData( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE Message, /*IN*/ ULONG Index, /*OUT*/ PVOID Buffer, /*IN*/ ULONG BufferLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwWriteRequestData( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE Message, /*IN*/ ULONG Index, /*IN*/ PVOID Buffer, /*IN*/ ULONG BufferLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);typedef enum _PORT_INFORMATION_CLASS { PortBasicInformation} PORT_INFORMATION_CLASS;NTOSAPINTSTATUSNTAPIZwQueryInformationPort( /*IN*/ HANDLE PortHandle, /*IN*/ PORT_INFORMATION_CLASS PortInformationClass, /*OUT*/ PVOID PortInformation, /*IN*/ ULONG PortInformationLength, /*OUT*/ PULONG ReturnLength /*OPTIONAL*/);NTOSAPINTSTATUSNTAPIZwImpersonateClientOfPort( /*IN*/ HANDLE PortHandle, /*IN*/ PLPC_MESSAGE Message);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -