struktur SP_PROPSHEETPAGE_REQUEST (setupapi.h)
Struktur SP_PROPSHEETPAGE_REQUEST dapat diteruskan sebagai parameter pertama (lpv) ke titik entri ExtensionPropSheetPageProc di SetupAPI DLL. ExtensionPropSheetPageProc digunakan untuk mengambil handel ke halaman lembar properti tertentu.
Untuk informasi tentang ExtensionPropSheetPageProc dan fungsi terkait, lihat dokumentasi Microsoft Windows SDK.
Sintaks
typedef struct _SP_PROPSHEETPAGE_REQUEST {
DWORD cbSize;
DWORD PageRequested;
HDEVINFO DeviceInfoSet;
PSP_DEVINFO_DATA DeviceInfoData;
} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
Anggota
cbSize
Ukuran, dalam byte, dari struktur SP_PROPSHEETPAGE_REQUEST.
PageRequested
Halaman lembar properti untuk ditambahkan ke lembar properti. Dapat berupa salah satu dari nilai berikut:
SPPSR_SELECT_DEVICE_RESOURCES
Menentukan halaman Pilihan Sumber Daya yang disediakan oleh SETUPAPI DLL.
SPPSR_ENUM_BASIC_DEVICE_PROPERTIES
Menentukan halaman yang disediakan oleh penyedia BasicProperties32 perangkat. Artinya, alat penginstal atau komponen lain yang menyediakan halaman sebagai respons terhadap permintaan penginstalan DIF_ADDPROPERTYPAGE_BASIC .
SPPSR_ENUM_ADV_DEVICE_PROPERTIES
Menentukan halaman yang disediakan oleh kelas dan/atau penyedia EnumPropPages32 perangkat. Artinya, alat penginstal atau komponen lain yang menyediakan halaman sebagai respons terhadap permintaan penginstalan DIF_ADDPROPERTYPAGE_ADVANCED .
DeviceInfoSet
Handel untuk set informasi perangkat yang berisi perangkat yang sedang diinstal.
DeviceInfoData
Penunjuk ke struktur SP_DEVINFO_DATA untuk perangkat yang sedang diinstal.
Keterangan
Komponen yang mengambil halaman properti memanggil fungsi ExtensionPropSheetPageProc SetupAPI dan meneruskan penunjuk ke struktur SP_PROPSHEETPAGE_REQUEST, alamat fungsi AddPropSheetPageProc mereka, dan beberapa data privat. Penyedia lembar properti memanggil rutinitas AddPropSheetPageProc untuk setiap lembar properti yang disediakannya.
Kutipan kode berikut menunjukkan cara mengambil satu halaman, halaman Pilihan Sumber Daya SetupAPI:
{
DWORD Err;
HINSTANCE hLib;
FARPROC PropSheetExtProc;
HPROPSHEETPAGE hPages[2];
.
.
.
if(!(hLib = GetModuleHandle(TEXT("setupapi.dll")))) {
return GetLastError();
}
if(!(PropSheetExtProc = GetProcAddress(hLib,
"ExtensionPropSheetPageProc"))) {
Err = GetLastError();
FreeLibrary(hLib);
return Err;
}
PropPageRequest.cbSize = sizeof(SP_PROPSHEETPAGE_REQUEST);
PropPageRequest.PageRequested =
SPPSR_SELECT_DEVICE_RESOURCES;
PropPageRequest.DeviceInfoSet = DeviceInfoSet;
PropPageRequest.DeviceInfoData = DeviceInfoData;
if(!PropSheetExtProc(&PropPageRequest,
AddPropSheetPageProc, &hPages[1])) {
Err = ERROR_INVALID_PARAMETER;
FreeLibrary(hLib);
return Err;
}
.
.
.
}
AddPropSheetPageProc untuk kutipan sebelumnya akan menjadi sesuatu seperti berikut:
BOOL
CALLBACK
AddPropSheetPageProc(
IN HPROPSHEETPAGE hpage,
IN LPARAM lParam
)
{
*((HPROPSHEETPAGE *)lParam) = hpage;
return TRUE;
}
Persyaratan
Persyaratan | Nilai |
---|---|
Header | setupapi.h (termasuk Setupapi.h) |