共用方式為


SetupQuerySpaceRequiredOnDriveA 函式 (setupapi.h)

[此函式可用於需求一節中所述的操作系統。 它在後續版本中可能會變更或無法使用。 安裝程式API不應再用於安裝應用程式。 請改用 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 位元組取代它所需的磁碟空間為 3000 位元組 FIRST.EXE 為 3000 個字節。

檔案大小會四捨五入到磁碟叢集界限。

[in] Reserved1

保留;必須是 0 (零) 。

[in] Reserved2

保留;必須是 0 (零) 。

傳回值

如果函式成功,傳回值是非零值, 而SpaceRequired 會收到目前磁碟空間清單中所列的檔案作業所需的空間量。

如果函式失敗,傳回值為 0 (零) 。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

傳回碼 Description
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
程式庫 Setupapi.lib
Dll Setupapi.dll

請參閱

函式

概觀

SetupQueryDrivesInDiskSpaceList