tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
20楼#
发布于:2005-06-28 10:49
就是IRP_MJ_CREATE的处理例程
feng_han
驱动牛犊
驱动牛犊
  • 注册日期2005-06-22
  • 最后登录2006-03-20
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望12点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
21楼#
发布于:2005-06-29 09:15
NTSTATUS DispatchCreate(PDEVICE_OBJECT fdo, PIRP Irp)

{
//NTSTATUS status;
//DbgPrint( "TWDM: IRP_MJ_CREATE for Twdm.sys ...... " );
//status = STATUS_SUCCESS;
// return status;

       HANDLE TokenHandle = NULL;
       NTSTATUS Status = ZwOpenThreadToken((HANDLE)-2,
              STANDARD_RIGHTS_READ, FALSE, &TokenHandle);
       if (NT_SUCCESS(Status))
       {
              ULONG ResultLength;
              TOKEN_TYPE TType;
              Status = ZwQueryInformationToken(TokenHandle, TokenType, &TType,
                     sizeof(TOKEN_TYPE), &ResultLength);
              if (NT_SUCCESS(Status))
              {
                     if (TType == TokenImpersonation)
                     {
                            bServerCall = TRUE;
                     }
              }
              ZwClose(TokenHandle);
       }


}

按照楼上说的 修改了例程,但是在2000Server下用DDK编译有错误,ZwOpenThreadToken()未定义,网上说缺少什么库 ,但是按帖子上的方法修改source文件 把lib引入 还是不行 问一下杂恩么办?
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
22楼#
发布于:2005-06-29 09:30
那就自己定义ZwOpenThreadToken:

ZwOpenThreadToken(
    IN HANDLE ThreadHandle,
    IN ACCESS_MASK DesiredAccess,
    IN BOOLEAN OpenAsSelf,
    OUT PHANDLE TokenHandle
    );
feng_han
驱动牛犊
驱动牛犊
  • 注册日期2005-06-22
  • 最后登录2006-03-20
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望12点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
23楼#
发布于:2005-06-29 09:36
恩 后来 我自己定义了ZwOpenThreadToken,ZwQueryInformationToken,但是还说TOKEN_TYPE 未定义 亚 ?
feng_han
驱动牛犊
驱动牛犊
  • 注册日期2005-06-22
  • 最后登录2006-03-20
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望12点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
24楼#
发布于:2005-06-29 10:05
ZwQueryInformationToken()的声明有吗?谢谢 编译 错 声明不对~
feng_han
驱动牛犊
驱动牛犊
  • 注册日期2005-06-22
  • 最后登录2006-03-20
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望12点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
25楼#
发布于:2005-06-29 10:15
网上下的filemon的代码 不修改直接编译的 就出现
wintypes.h(24) : error C2220: warning treated as error - no object file generate
d
wintypes.h(24) : error C4005: 'FILE_SPECIAL_ACCESS' : macro redefinition
wintypes.h(33) : error C4273: 'ProbeForWrite' : inconsistent dll linkage
wintypes.h(299) : error C2011: '_FILE_NAME_INFORMATION' : 'struct' type redefini
tion
以上的错误,现在我修改后 也剩这4个错误了  什么原因?
tooflat
论坛版主
论坛版主
  • 注册日期2002-07-08
  • 最后登录2014-03-11
  • 粉丝2
  • 关注0
  • 积分1007分
  • 威望551点
  • 贡献值3点
  • 好评度476点
  • 原创分0分
  • 专家分0分
26楼#
发布于:2005-06-29 10:15
NTSTATUS
  ZwQueryInformationToken(
    IN HANDLE  TokenHandle,
    IN TOKEN_INFORMATION_CLASS  TokenInformationClass,
    OUT PVOID  TokenInformation,
    IN ULONG  TokenInformationLength,
    OUT PULONG  ReturnLength
    );
feng_han
驱动牛犊
驱动牛犊
  • 注册日期2005-06-22
  • 最后登录2006-03-20
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望12点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
27楼#
发布于:2005-06-29 10:16
网上下的filemon的代码 不修改直接编译的 就出现
wintypes.h(24) : error C2220: warning treated as error - no object file generate
d
wintypes.h(24) : error C4005: 'FILE_SPECIAL_ACCESS' : macro redefinition
wintypes.h(33) : error C4273: 'ProbeForWrite' : inconsistent dll linkage
wintypes.h(299) : error C2011: '_FILE_NAME_INFORMATION' : 'struct' type redefini
tion
以上的错误,现在我修改后 也剩这4个错误了 什么原因?
feng_han
驱动牛犊
驱动牛犊
  • 注册日期2005-06-22
  • 最后登录2006-03-20
  • 粉丝0
  • 关注0
  • 积分89分
  • 威望12点
  • 贡献值0点
  • 好评度5点
  • 原创分0分
  • 专家分0分
28楼#
发布于:2005-06-29 11:00
呵呵 谢谢斑斑 编译过去了,我想得到bServerCall  的值 应该怎么调用?
上一页 下一页
游客

返回顶部