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) |