200元,系统相关。(200分)

  • 主题发起人 主题发起人 shellapi
  • 开始时间 开始时间
S

shellapi

Unregistered / Unconfirmed
GUEST, unregistred user!
如何用ZwQuerySystemEnvironmentValue查询存储在coms中的环境值。<br>up也有分。
 
读写coms<br>procedure WriteCMOS(Addr, Data:Byte);<br>begin<br>&nbsp; asm mov al , &nbsp;Addr<br>&nbsp; &nbsp; &nbsp; or &nbsp;al , &nbsp;80h<br>&nbsp; &nbsp; &nbsp; out 70h, &nbsp;al<br>&nbsp; &nbsp; &nbsp; mov al , &nbsp;Data<br>&nbsp; &nbsp; &nbsp; out 71h, &nbsp;al<br>&nbsp; end;<br>end;<br><br>procedure ReadCMOS(Addr: Byte; var Data: Byte);<br>var<br>&nbsp; readData: Byte;<br>begin<br>&nbsp; asm mov al , &nbsp;Addr<br>&nbsp; &nbsp; &nbsp; or &nbsp;al , &nbsp;80h<br>&nbsp; &nbsp; &nbsp; out 70h, &nbsp;al<br>&nbsp; &nbsp; &nbsp; in &nbsp;al, &nbsp; 71h<br>&nbsp; &nbsp; &nbsp; mov readData, al<br>&nbsp; end;<br>Data := readData;<br>end;<br>
 
没用过, 但有专门的书介绍《Windows NT/2000 本机 API参考手册》<br>http://www.china-pub.com/computers/common/info.asp?id=4015
 
或许你看看这个就够了: http://www.pearsonptg.com/samplechapter/1578701996.pdf
 
&gt;up也有分<br>just up!
 
我也来up一下。:)<br><br>不过ZwQuerySystemEnvironmentValue是个什么东西啊?好像不是sdk里面的api,是不是ddk里面的东西啊?
 
ZwQuerySystemEnvironmentValue查询系统的非挥发性(CMOS)内存中所存储的<br>一个系统环境变量的值。<br>NTSYSAPI<br>NTSTATUS<br>NTAPI<br>ZwQuerySystemEnvironmentValue(<br>IN PUNICODE_STRING Name ,<br>OUT PVOID Value,<br>IN ULONG ValueLength,<br>OUT PULONG ReturnLength OPTIONAL<br>);<br>参数<br>Name 将被查询的系统环境值的名称<br>Value 指向接收被请求系统环境值的一个调用者分配的缓冲区或变量<br>ValueLength 一字节为单元的Value的大小<br>ReturnLength 可以有选择地指向一个变量,改变量接收实际返回到Value的字节数。<br>如果ValueLength 太小,不能包含可得到的数据,则变量就被设置为可得到数据所要求的字节数。<br>如果调用者不需要这个信息,就可以把ReturnValue指定为一个空指针。<br><br>返回值<br>返回STATUS_SUCCESS 或者一个错误状态,如STATUS_PRIVILEGE_NOT_HELD 、 <br>STATUS_BUFFER_OVERFLOW 或者 STATUS_UNSUCCESSFUL 。<br>相关的Win32函数 无<br>备注<br>要求SeSystemEnvirnomentPrivilege查询系统环境值。<br>在Buffer中所返回的信息是一个WCHAR数组。ReturnValue值含有以字节为单位的字符串的长度。<br>ZwQuerySystemEnvironmentValue查询存储在CMOS中的环境值。<br>供Intel平台使用的标准硬件抽象层( Hardware Abstraction Layer,HAL )只支持一个环境值,<br>即"LastKnownGood",它采用"TRUE"和"FALSE"值。通过把0x70写到端口,和从0x71端口读取来查询它。<br>0的一个值被解释为"FALSE",其它值被解释为"TRUE".
 
如果有人对Privilege感兴趣可以看<br>http://www.tburke.net/info/reskittools/topics/showpriv_syntax.htm<br>在google查找也可以找到很多有关Privilege。<br>还有一个不错的网址(EnablePrivilege Delphi 代码)<br>http://delphi.vitpc.com/asp/answer.asp?IDAnswer=7302<br><br>kcahcn &nbsp;CIONO1
 
多人接受答案了。
 
后退
顶部