用DELPHI4.0如何调用GetVolumeInformation函数
编号:QA002115
建立日期: 1999年11月26日 最后修改日期:1999年11月26日
所属类别:
airjordan:
操作系统: win95osr2
编程工具: Delphi4.0
问题: 版主你好!又要麻烦你了:)我在用DELPHI4.0调用GetVolumeInformation 这个函数时总是出错。想请教!
var
strDrive:LPCTSTR;
Temp1,Temp2:LPTSTR;
t1l,t2l:DWord;
SerialNum,maximum,lpfilesys:LPDWORD;
s1,s2:string[255];
begin
strdrive:='c:\';
temp1:=@s1;
temp2:=@s2;
t1l:=sizeof(temp1);
t2l:=sizeof(temp2);
GetVolumeInformation(strDrive, Temp1,
t1l, SerialNum, maximum, lpfilesys, Temp2, t2l)
end;
程序总是在MAXIMUM和LPFILESYS中出错!我已经把它们设成字的指针,为什么还是出错?多谢!
回答:
在DELPHI中GetVolumeInformation 这个函数的定义有点怪。它的MAXIMUM和LPFILESYS都定义为DWORD型,采用传指方式,而不是采用LPDWORD型。正确的方法:
var
VolumeSerialNumber : DWORD;
MaximumComponentLength : DWORD;
FileSystemFlags : DWORD;
SerialNumber : string;
begin
GetVolumeInformation('C:\',
nil,
0,
@VolumeSerialNumber,
MaximumComponentLength,
FileSystemFlags,
nil,
0);
end;
此问题由李海回答。
| |
|
|
| |
|
|