structure SP_PROPSHEETPAGE_REQUEST (setupapi.h)
Une structure SP_PROPSHEETPAGE_REQUEST peut être passée en tant que premier paramètre (lpv) au point d’entrée ExtensionPropSheetPageProc dans la DLL SetupAPI . ExtensionPropSheetPageProc est utilisé pour récupérer un handle dans une page de feuille de propriétés spécifiée.
Pour plus d’informations sur ExtensionPropSheetPageProc et les fonctions associées, consultez la documentation Microsoft Windows SDK.
Syntaxe
typedef struct _SP_PROPSHEETPAGE_REQUEST {
DWORD cbSize;
DWORD PageRequested;
HDEVINFO DeviceInfoSet;
PSP_DEVINFO_DATA DeviceInfoData;
} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
Membres
cbSize
Taille, en octets, de la structure SP_PROPSHEETPAGE_REQUEST.
PageRequested
Page de la feuille de propriétés à ajouter à la feuille de propriétés. Peut avoir l’une des valeurs suivantes :
SPPSR_SELECT_DEVICE_RESOURCES
Spécifie la page Sélection des ressources fournie par la DLL SetupAPI.
SPPSR_ENUM_BASIC_DEVICE_PROPERTIES
Spécifie une page fournie par le fournisseur BasicProperties32 de l’appareil. Autrement dit, un programme d’installation ou un autre composant qui a fourni la ou les pages en réponse à une demande d’installation DIF_ADDPROPERTYPAGE_BASIC .
SPPSR_ENUM_ADV_DEVICE_PROPERTIES
Spécifie une page fournie par la classe et/ou le fournisseur EnumPropPages32 de l’appareil. Autrement dit, un programme d’installation ou un autre composant qui a fourni la ou les pages en réponse à une demande d’installation DIF_ADDPROPERTYPAGE_ADVANCED .
DeviceInfoSet
Handle pour le jeu d’informations sur l’appareil qui contient l’appareil en cours d’installation.
DeviceInfoData
Pointeur vers une structure SP_DEVINFO_DATA pour l’appareil en cours d’installation.
Remarques
Le composant qui récupère les pages de propriétés appelle la fonction ExtensionPropSheetPageProc de SetupAPI et transmet un pointeur vers une structure de SP_PROPSHEETPAGE_REQUEST, l’adresse de sa fonction AddPropSheetPageProc et certaines données privées. Le fournisseur de feuilles de propriétés appelle la routine AddPropSheetPageProc pour chaque feuille de propriétés qu’il fournit.
L’extrait de code suivant montre comment récupérer une page, la page Sélection des ressources de 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;
}
.
.
.
}
L’élément AddPropSheetPageProc de l’extrait précédent ressemble à ce qui suit :
BOOL
CALLBACK
AddPropSheetPageProc(
IN HPROPSHEETPAGE hpage,
IN LPARAM lParam
)
{
*((HPROPSHEETPAGE *)lParam) = hpage;
return TRUE;
}
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | setupapi.h (inclure Setupapi.h) |