求救:在NT Server下调用GetVolumeInformationA取分区序列号,返回结果为负数!!!怎么回事啊?

bati_1975 2001-07-16 11:20:23
调用GetVolumeInformationA取分区序列号,返回结果为负数!!!怎么回事啊?
我在 win2000 professional 下调用没问题,在 NT Server下调用返回一个负数,
不知道是怎么回事!我用PB调用就没问题,真是奇怪!
我的调用语句是:GetVolumeInformationA(NULL,0,0,&ll_volume,0,0,0,0);
请各位大虾帮忙!
...全文
145 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
bati_1975 2001-07-18
  • 打赏
  • 举报
回复
谢谢!解决了!
bati_1975 2001-07-16
  • 打赏
  • 举报
回复
是 unsigned long
vc_boy 2001-07-16
  • 打赏
  • 举报
回复
你ll_volume是什么类型的?
verybigbug 2001-07-16
  • 打赏
  • 举报
回复
什么叫负数呀?
分区序列号是无符号数。比如0xBB70A104,显示BB70-A104。
你用%d肯定是负数。用%08X看看。和vol的值是不是一样。
就可以啦,没有证据表明分区序列号必须小于0x80000000呀。
bati_1975 2001-07-16
  • 打赏
  • 举报
回复
对系统分区,我把第一个参数加上了,返回结果还是负数!其它分区可以正常返回。
也就是说:c分区是系统分区,d分区是其他分区,
用参数:"c:\\",返回结果为负;用参数:"d:\\",返回结果正常!
如果我从PB中调用该api函数,结果都正常!!!
有人知道是怎么回事吗?
verybigbug 2001-07-16
  • 打赏
  • 举报
回复
If this parameter is NULL, the root of the current directory is used. A trailing backslash is required.

在NT Service下,可能GetCurrentDirectory不知道返回什么。
bati_1975 2001-07-16
  • 打赏
  • 举报
回复
能说明原因吗?
2ndboy 2001-07-16
  • 打赏
  • 举报
回复
第一个参数用“C:\\”或“D:\\”......
bati_1975 2001-07-16
  • 打赏
  • 举报
回复
哪位高手赶快帮忙呀!

16,548

社区成员

发帖
与我相关
我的任务
社区描述
VC/MFC相关问题讨论
社区管理员
  • 基础类社区
  • AIGC Browser
  • encoderlee
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

        VC/MFC社区版块或许是CSDN最“古老”的版块了,记忆之中,与CSDN的年龄几乎差不多。随着时间的推移,MFC技术渐渐的偏离了开发主流,若干年之后的今天,当我们面对着微软的这个经典之笔,内心充满着敬意,那些曾经的记忆,可以说代表着二十年前曾经的辉煌……
        向经典致敬,或许是老一代程序员内心里面难以释怀的感受。互联网大行其道的今天,我们期待着MFC技术能够恢复其曾经的辉煌,或许这个期待会永远成为一种“梦想”,或许一切皆有可能……
        我们希望这个版块可以很好的适配Web时代,期待更好的互联网技术能够使得MFC技术框架得以重现活力,……

试试用AI创作助手写篇文章吧