SP_PROPSHEETPAGE_REQUEST struttura (setupapi.h)
Una struttura SP_PROPSHEETPAGE_REQUEST può essere passata come primo parametro (lpv) al punto di ingresso ExtensionPropSheetPageProc nella DLL SetupAPI . ExtensionPropSheetPageProc viene usato per recuperare un handle in una pagina del foglio delle proprietà specificata.
Per informazioni sulle funzioni ExtensionPropSheetPageProc e correlate, vedere la documentazione di Microsoft Windows SDK.
Sintassi
typedef struct _SP_PROPSHEETPAGE_REQUEST {
DWORD cbSize;
DWORD PageRequested;
HDEVINFO DeviceInfoSet;
PSP_DEVINFO_DATA DeviceInfoData;
} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
Members
cbSize
Dimensioni, in byte, della struttura SP_PROPSHEETPAGE_REQUEST.
PageRequested
Pagina del foglio delle proprietà da aggiungere al foglio delle proprietà. I possibili valori sono i seguenti:
SPPSR_SELECT_DEVICE_RESOURCES
Specifica la pagina Selezione risorse fornita dalla DLL SetupAPI.
SPPSR_ENUM_BASIC_DEVICE_PROPERTIES
Specifica una pagina fornita dal provider BasicProperties32 del dispositivo. Ovvero, un programma di installazione o un altro componente che ha fornito pagine in risposta a una richiesta di installazione DIF_ADDPROPERTYPAGE_BASIC .
SPPSR_ENUM_ADV_DEVICE_PROPERTIES
Specifica una pagina fornita dalla classe e/o dal provider EnumPropPages32 del dispositivo. Ovvero, un programma di installazione o un altro componente che ha fornito pagine in risposta a una richiesta di installazione DIF_ADDPROPERTYPAGE_ADVANCED .
DeviceInfoSet
Handle per il set di informazioni sul dispositivo che contiene il dispositivo installato.
DeviceInfoData
Puntatore a una struttura di SP_DEVINFO_DATA per il dispositivo installato.
Commenti
Il componente che sta recuperando le pagine delle proprietà chiama la funzione ExtensionPropSheetPageProc di SetupAPI e passa un puntatore a una struttura SP_PROPSHEETPAGE_REQUEST, l'indirizzo della funzione AddPropSheetPageProc e alcuni dati privati. Il provider del foglio di proprietà chiama la routine AddPropSheetPageProc per ogni foglio di proprietà fornita.
L'estratto di codice seguente illustra come recuperare una pagina, la pagina Selezione risorse di 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;
}
.
.
.
}
Il componente AddPropSheetPageProc per l'estratto precedente sarà simile al seguente:
BOOL
CALLBACK
AddPropSheetPageProc(
IN HPROPSHEETPAGE hpage,
IN LPARAM lParam
)
{
*((HPROPSHEETPAGE *)lParam) = hpage;
return TRUE;
}
Requisiti
Requisito | Valore |
---|---|
Intestazione | setupapi.h (includere Setupapi.h) |