⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 ntifs.h

📁 使用DELPHI制作地虚拟光驱
💻 H
字号:
#define TOKEN_SOURCE_LENGTH 8

typedef enum _TOKEN_TYPE {
	TokenPrimary = 1,
	TokenImpersonation
} TOKEN_TYPE;

typedef struct _TOKEN_SOURCE {
	CCHAR   SourceName[TOKEN_SOURCE_LENGTH];
	LUID    SourceIdentifier;
} TOKEN_SOURCE, *PTOKEN_SOURCE;

typedef struct _TOKEN_CONTROL {
	LUID            TokenId;
	LUID            AuthenticationId;
	LUID            ModifiedId;
	TOKEN_SOURCE    TokenSource;
} TOKEN_CONTROL, *PTOKEN_CONTROL;

typedef struct _SECURITY_CLIENT_CONTEXT {
	SECURITY_QUALITY_OF_SERVICE SecurityQos;
	PACCESS_TOKEN               ClientToken;
	BOOLEAN                     DirectlyAccessClientToken;
	BOOLEAN                     DirectAccessEffectiveOnly;
	BOOLEAN                     ServerIsRemote;
	TOKEN_CONTROL               ClientTokenControl;
} SECURITY_CLIENT_CONTEXT, *PSECURITY_CLIENT_CONTEXT;

#define PsDereferenceImpersonationToken(T)  \
{if (ARGUMENT_PRESENT(T)) {     \
	(ObDereferenceObject((T))); \
} else {                        \
	;                           \
}                               \
}

#define PsDereferencePrimaryToken(T) (ObDereferenceObject((T)))

NTKERNELAPI
VOID
PsRevertToSelf (
				VOID
				);

NTKERNELAPI
NTSTATUS
SeCreateClientSecurity (
						IN PETHREAD                     Thread,
						IN PSECURITY_QUALITY_OF_SERVICE QualityOfService,
						IN BOOLEAN                      RemoteClient,
						OUT PSECURITY_CLIENT_CONTEXT    ClientContext
						);

#define SeDeleteClientSecurity(C)  {                                           \
	if (SeTokenType((C)->ClientToken) == TokenPrimary) {               \
	PsDereferencePrimaryToken( (C)->ClientToken );                 \
	} else {                                                           \
	PsDereferenceImpersonationToken( (C)->ClientToken );           \
	}                                                                  \
}

NTKERNELAPI
VOID
SeImpersonateClient (
					 IN PSECURITY_CLIENT_CONTEXT ClientContext,
					 IN PETHREAD                 ServerThread OPTIONAL
					 );

NTKERNELAPI
TOKEN_TYPE
SeTokenType (
			 IN PACCESS_TOKEN Token
			 );

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -