SetupQuerySpaceRequiredOnDriveA 函数 (setupapi.h)

[此函数可用于“要求”部分所示的操作系统。 在后续版本中可能会更改或不可用。 不应再使用 SetupAPI 来安装应用程序。 请改用 Windows Installer 来开发应用程序安装程序。 SetupAPI 继续用于安装设备驱动程序。]

SetupQuerySpaceRequiredOnDrive 函数检查磁盘空间列表,以确定执行特定驱动器列出的所有文件操作所需的空间。

语法

WINSETUPAPI BOOL SetupQuerySpaceRequiredOnDriveA(
  [in]  HDSKSPC  DiskSpace,
  [in]  PCSTR    DriveSpec,
  [out] LONGLONG *SpaceRequired,
  [in]  PVOID    Reserved1,
  [in]  UINT     Reserved2
);

参数

[in] DiskSpace

磁盘空间列表的句柄。

[in] DriveSpec

指向以 null 结尾的字符串的指针,该字符串指定要返回空间信息的驱动器。

这应采用“x:”或“\server\share”格式。

[out] SpaceRequired

如果函数成功,此参数将接收处理 DriveSpec 指定驱动器的磁盘空间列表中列出的所有文件操作所需的额外空间量。

SetupQuerySpaceRequiredOnDrive 函数通过检查目标驱动器上文件预先存在的版本来计算目标驱动器上所需的额外空间。

例如,如果文件操作将 2000 字节文件(FIRST.EXE)复制到目录 C:\MYPROG,则 SetupQuerySpaceRequiredOnDrive 函数会自动检查该目录中该文件的预先存在的版本。 如果 C:\MYPROG\FIRST.EXE的预先存在的版本文件大小为 500 字节,则该操作的驱动器 C 所需的额外空间为 1500 字节。

收到的值可以是 0(零)或负数(如果不需要额外的空间),或者目标驱动器上释放空间。

如果前面的示例中FIRST.EXE正在从驱动器 C 中删除,则所需的空间量为 2000 字节,或驱动器 C 上释放的空间。

如果预先存在的版本文件大小为 5000 字节,则将其替换为 2000 字节FIRST.EXE所需的磁盘空间为 3000 字节。

文件大小舍入到磁盘群集边界。

[in] Reserved1

保留;必须为 0(零)。

[in] Reserved2

保留;必须为 0(零)。

返回值

如果函数成功,则返回值为非零值,SpaceRequired 接收当前磁盘空间列表中列出的文件操作所需的空间量。

如果函数失败,则返回值为 0(零)。 若要获取扩展的错误信息,请调用 GetLastError

返回代码 描述
ERROR_INVALID_DRIVE
指定的驱动器不在磁盘空间列表中。
ERROR_INVALID_HANDLE
指定的 DiskSpace 句柄无效。
ERROR_INVALID_PARAMETER
指定的 DriveSpec 字符串无效。

言论

注意

setupapi.h 标头将 SetupQuerySpaceRequiredOnDrive 定义为一个别名,该别名根据 UNICODE 预处理器常量的定义自动选择此函数的 ANSI 或 Unicode 版本。 将中性编码别名与不中性编码的代码混合使用可能会导致编译或运行时错误不匹配。 有关详细信息,请参阅函数原型的 约定。

要求

要求 价值
最低支持的客户端 Windows XP [仅限桌面应用]
支持的最低服务器 Windows Server 2003 [仅限桌面应用]
目标平台 窗户
标头 setupapi.h
Setupapi.lib
DLL Setupapi.dll

另请参阅

Functions

概述

SetupQueryDrivesInDiskSpaceList