estrutura SP_PROPSHEETPAGE_REQUEST (setupapi.h)
Uma estrutura SP_PROPSHEETPAGE_REQUEST pode ser passada como o primeiro parâmetro (lpv) para o ponto de entrada ExtensionPropSheetPageProc na DLL SetupAPI . ExtensionPropSheetPageProc é usado para recuperar um identificador para uma página de folha de propriedades especificada.
Para obter informações sobre ExtensionPropSheetPageProc e funções relacionadas, consulte a documentação do SDK do Microsoft Windows.
Sintaxe
typedef struct _SP_PROPSHEETPAGE_REQUEST {
DWORD cbSize;
DWORD PageRequested;
HDEVINFO DeviceInfoSet;
PSP_DEVINFO_DATA DeviceInfoData;
} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
Membros
cbSize
O tamanho, em bytes, da estrutura SP_PROPSHEETPAGE_REQUEST.
PageRequested
A página da folha de propriedades a ser adicionada à folha de propriedades. Pode ser um dos seguintes valores:
SPPSR_SELECT_DEVICE_RESOURCES
Especifica a página Seleção de Recursos fornecida pela DLL SetupAPI.
SPPSR_ENUM_BASIC_DEVICE_PROPERTIES
Especifica uma página fornecida pelo provedor BasicProperties32 do dispositivo. Ou seja, um instalador ou outro componente que forneceu páginas em resposta a uma solicitação de instalação DIF_ADDPROPERTYPAGE_BASIC .
SPPSR_ENUM_ADV_DEVICE_PROPERTIES
Especifica uma página fornecida pela classe e/ou pelo provedor EnumPropPages32 do dispositivo. Ou seja, um instalador ou outro componente que forneceu páginas em resposta a uma solicitação de instalação DIF_ADDPROPERTYPAGE_ADVANCED .
DeviceInfoSet
O identificador do conjunto de informações do dispositivo que contém o dispositivo que está sendo instalado.
DeviceInfoData
Um ponteiro para uma estrutura SP_DEVINFO_DATA para o dispositivo que está sendo instalado.
Comentários
O componente que está recuperando as páginas de propriedades chama a função ExtensionPropSheetPageProc da SetupAPI e passa um ponteiro para uma estrutura SP_PROPSHEETPAGE_REQUEST, o endereço de sua função AddPropSheetPageProc e alguns dados privados. O provedor de folha de propriedades chama a rotina AddPropSheetPageProc para cada folha de propriedades que ele fornece.
O trecho de código a seguir mostra como recuperar uma página, a página Seleção de Recursos da 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;
}
.
.
.
}
O AddPropSheetPageProc para o trecho anterior seria semelhante ao seguinte:
BOOL
CALLBACK
AddPropSheetPageProc(
IN HPROPSHEETPAGE hpage,
IN LPARAM lParam
)
{
*((HPROPSHEETPAGE *)lParam) = hpage;
return TRUE;
}
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | setupapi.h (inclua Setupapi.h) |