estructura de SP_PROPSHEETPAGE_REQUEST (setupapi.h)

Se puede pasar una estructura SP_PROPSHEETPAGE_REQUEST como primer parámetro (lpv) al punto de entrada ExtensionPropSheetPageProc en el archivo DLL de SetupAPI . ExtensionPropSheetPageProc se usa para recuperar un identificador en una página de hoja de propiedades especificada.

Para obtener información sobre ExtensionPropSheetPageProc y las funciones relacionadas, consulte la documentación de Microsoft Windows SDK.

Sintaxis

typedef struct _SP_PROPSHEETPAGE_REQUEST {
  DWORD            cbSize;
  DWORD            PageRequested;
  HDEVINFO         DeviceInfoSet;
  PSP_DEVINFO_DATA DeviceInfoData;
} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;

Miembros

cbSize

Tamaño, en bytes, de la estructura SP_PROPSHEETPAGE_REQUEST.

PageRequested

Página de hoja de propiedades que se va a agregar a la hoja de propiedades. Puede ser uno de los siguientes valores:

SPPSR_SELECT_DEVICE_RESOURCES

Especifica la página Selección de recursos proporcionada por el archivo DLL setupAPI.

SPPSR_ENUM_BASIC_DEVICE_PROPERTIES

Especifica una página proporcionada por el proveedor BasicProperties32 del dispositivo. Es decir, un instalador u otro componente que proporcionó páginas en respuesta a una solicitud de instalación de DIF_ADDPROPERTYPAGE_BASIC .

SPPSR_ENUM_ADV_DEVICE_PROPERTIES

Especifica una página proporcionada por la clase o el proveedor EnumPropPages32 del dispositivo. Es decir, un instalador u otro componente que proporcionó páginas en respuesta a una solicitud de instalación de DIF_ADDPROPERTYPAGE_ADVANCED .

DeviceInfoSet

Identificador del conjunto de información del dispositivo que contiene el dispositivo que se va a instalar.

DeviceInfoData

Puntero a una estructura de SP_DEVINFO_DATA para el dispositivo que se va a instalar.

Comentarios

El componente que recupera las páginas de propiedades llama a la función ExtensionPropSheetPageProc de SetupAPI y pasa un puntero a una estructura de SP_PROPSHEETPAGE_REQUEST, la dirección de su función AddPropSheetPageProc y algunos datos privados. El proveedor de la hoja de propiedades llama a la rutina AddPropSheetPageProc para cada hoja de propiedades que proporciona.

En el siguiente fragmento de código se muestra cómo recuperar una página, la página Selección de recursos 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;
        }
        .
        .
        .
}

AddPropSheetPageProc para el extracto anterior sería similar al siguiente:

BOOL
CALLBACK
AddPropSheetPageProc(
    IN HPROPSHEETPAGE hpage,
    IN LPARAM lParam
   )
{
    *((HPROPSHEETPAGE *)lParam) = hpage;
    return TRUE;
}

Requisitos

Requisito Valor
Header setupapi.h (incluya Setupapi.h)

Consulte también

DIF_ADDPROPERTYPAGE_ADVANCED

DIF_ADDPROPERTYPAGE_BASIC