SetupDiGetClassDevPropertySheetsA 函式 (setupapi.h)

SetupDiGetClassDevPropertySheets 函式會擷取裝置資訊項目的屬性表或裝置資訊集之裝置安裝類別的句柄。

語法

WINSETUPAPI BOOL SetupDiGetClassDevPropertySheetsA(
  [in]            HDEVINFO           DeviceInfoSet,
  [in, optional]  PSP_DEVINFO_DATA   DeviceInfoData,
  [in]            LPPROPSHEETHEADERA PropertySheetHeader,
  [in]            DWORD              PropertySheetHeaderPageListSize,
  [out, optional] PDWORD             RequiredSize,
  [in]            DWORD              PropertySheetType
);

參數

[in] DeviceInfoSet

要傳回屬性表句柄之 裝置資訊的 句柄。 如果 DeviceInfoData 未在裝置資訊集中指定裝置資訊元素,則裝置資訊集必須具有相關聯的裝置設定類別。

[in, optional] DeviceInfoData

指定 DeviceInfoSet 中裝置資訊元素 之SP_DEVINFO_DATA 結構的指標。

此參數是選擇性的,可以是 NULL。 如果指定此參數, SetupDiGetClassDevPropertySheets 會擷取與指定裝置相關聯的屬性表句柄。 如果此參數為 NULL,SetupDiGetClassDevPropertySheets 會擷取屬性表句柄,這些句柄與 DeviceInfoSet 中指定的裝置安裝類別相關聯。

[in] PropertySheetHeader

PROPERTYSHEETHEADER 結構的指標。 如需與這個結構相關聯之屬性表句柄之呼叫端提供的數位相關信息,請參閱一節。

如需此結構和屬性表的詳細資訊,請參閱 Microsoft Windows SDK。

[in] PropertySheetHeaderPageListSize

呼叫端所提供屬性表句柄數位可以保存的最大句柄數目。

[out, optional] RequiredSize

DWORD 類型的變數指標,可接收與指定裝置資訊專案或指定裝置資訊集之裝置安裝類別相關聯的屬性表數目。 指標是選擇性的,可以是 NULL

[in] PropertySheetType

旗標,表示下列其中一種屬性表類型。

屬性表類型 意義
DIGCDP_FLAG_ADVANCED 進階屬性表。
DIGCDP_FLAG_BASIC 基本屬性表。 僅支援 Microsoft Windows 95 和 Windows 98。 請勿在 Windows 2000 和更新版本的 Windows 中使用。
DIGCDP_FLAG_REMOTE_ADVANCED 遠端電腦上的進階屬性表。

傳回值

如果成功,函式會傳回 TRUE 。 否則,函式會傳回 FALSE。 呼叫 GetLastError 以取得錯誤碼。

備註

PROPERTYSHEETHEADER 結構包含兩個成員,這些成員與函式用來傳回屬性表句柄的呼叫端提供的數位相關聯。 phpages 成員是屬性表句柄呼叫端提供陣列的指標,而 nPages 成員的輸入值會指定句柄陣列中已包含的句柄數目。 函式會將屬性表句柄加入至句柄陣列,從陣列元素開始,其陣列索引為 nPages 的輸入值。 函式會依連續順序將句柄加入數位,直到數位已滿或所有要求屬性表頁的句柄都已加入數位為止。 函式可傳回的屬性表句柄數目上限等於 (PropertySheetHeaderPageListSize - (nPages) ) 的輸入值。

如果句柄陣列夠大,足以保存所有要求屬性表頁面的句柄,函式:

  • 將句柄加入至句柄陣列。
  • nPages 設定為陣列中的句柄總數。
  • RequiredSize 設定為其傳回的句柄數目。
  • 傳回 TRUE
如果句柄數位不夠大,無法儲存所有指定屬性表頁面的句柄,函式:
  • 加入陣列可以保留的句柄數目。
  • nPages 設定為 PropertySheetHeaderPageListSize
  • RequiredSize 設定為要求的屬性表頁總數。 函式未傳回的句柄數目等於 (RequiredSize - PropertySheetHeaderPageListSize - (nPages) ) 的輸入值。
  • 將錯誤碼設定為 ERROR_INSUFFICIENT_BUFFER。
  • 傳回 FALSE

注意

setupapi.h 標頭會根據 UNICODE 預處理器常數的定義,將 SetupDiGetClassDevPropertySheets 定義為別名,自動選取此函式的 ANSI 或 Unicode 版本。 混合使用編碼中性別名與非編碼中性的程序代碼,可能會導致編譯或運行時間錯誤不符。 如需詳細資訊,請參閱 函式原型的慣例

規格需求

需求
最低支援的用戶端 可在 Microsoft Windows 2000 和更新版本的 Windows 中使用。
目標平台 桌面
標頭 setupapi.h (包括 Setupapi.h)
程式庫 Setupapi.lib

另請參閱

SP_DEVINFO_DATA