Partager via


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)

Voir aussi

DIF_ADDPROPERTYPAGE_ADVANCED

DIF_ADDPROPERTYPAGE_BASIC