SP_PROPSHEETPAGE_REQUEST-Struktur (setupapi.h)
Eine SP_PROPSHEETPAGE_REQUEST Struktur kann als erster Parameter (lpv) an den ExtensionPropSheetPageProc-Einstiegspunkt in der SetupAPI-DLL übergeben werden. ExtensionPropSheetPageProc wird verwendet, um ein Handle für eine angegebene Eigenschaftenblattseite abzurufen.
Informationen zu ExtensionPropSheetPageProc und zugehörigen Funktionen finden Sie in der Microsoft Windows SDK-Dokumentation.
Syntax
typedef struct _SP_PROPSHEETPAGE_REQUEST {
DWORD cbSize;
DWORD PageRequested;
HDEVINFO DeviceInfoSet;
PSP_DEVINFO_DATA DeviceInfoData;
} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
Member
cbSize
Die Größe der SP_PROPSHEETPAGE_REQUEST Struktur in Bytes.
PageRequested
Die Eigenschaftenblattseite, die dem Eigenschaftenblatt hinzugefügt werden soll. Folgenden Werte sind möglich:
SPPSR_SELECT_DEVICE_RESOURCES
Gibt die Seite Ressourcenauswahl an, die von der SetupAPI-DLL bereitgestellt wird.
SPPSR_ENUM_BASIC_DEVICE_PROPERTIES
Gibt eine Seite an, die vom BasicProperties32-Anbieter des Geräts bereitgestellt wird. Das heißt, ein Installationsprogramm oder eine andere Komponente, die Seiten als Reaktion auf eine DIF_ADDPROPERTYPAGE_BASIC Installationsanforderung bereitgestellt hat.
SPPSR_ENUM_ADV_DEVICE_PROPERTIES
Gibt eine Seite an, die von der Klasse und/oder dem EnumPropPages32-Anbieter des Geräts bereitgestellt wird. Das heißt, ein Installationsprogramm oder eine andere Komponente, die Seiten als Antwort auf eine DIF_ADDPROPERTYPAGE_ADVANCED Installationsanforderung bereitgestellt hat.
DeviceInfoSet
Das Handle für den Geräteinformationssatz, der das zu installierende Gerät enthält.
DeviceInfoData
Ein Zeiger auf eine SP_DEVINFO_DATA-Struktur für das zu installierende Gerät.
Hinweise
Die Komponente, die die Eigenschaftenseiten abruft, ruft die ExtensionPropSheetPageProc-Funktion von SetupAPI auf und übergibt einen Zeiger auf eine SP_PROPSHEETPAGE_REQUEST-Struktur, die Adresse ihrer AddPropSheetPageProc-Funktion und einige private Daten. Der Eigenschaftenblattanbieter ruft die AddPropSheetPageProc-Routine für jedes von ihr bereitgestellte Eigenschaftenblatt auf.
Der folgende Codeauszug zeigt, wie Sie eine Seite abrufen, die Seite "Ressourcenauswahl" der 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 für den vorherigen Auszug würde etwa wie folgt aussehen:
BOOL
CALLBACK
AddPropSheetPageProc(
IN HPROPSHEETPAGE hpage,
IN LPARAM lParam
)
{
*((HPROPSHEETPAGE *)lParam) = hpage;
return TRUE;
}
Anforderungen
Anforderung | Wert |
---|---|
Header | setupapi.h (einschließlich Setupapi.h) |