SetupQuerySpaceRequiredOnDriveA 函数 (setupapi.h)

[此函数可用于“要求”部分所示的操作系统。 它可能在后续版本中变更或不可用。 安装程序API 不应再用于安装应用程序。 请改用 Windows 安装程序来开发应用程序安装程序。 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 (零) 或负数。

如果从驱动器 C 中删除上述示例中的 FIRST.EXE,则所需的空间量为 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 [仅限桌面应用]
目标平台 Windows
标头 setupapi.h
Library Setupapi.lib
DLL Setupapi.dll

请参阅

函数

概述

SetupQueryDrivesInDiskSpaceList