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)

Weitere Informationen

DIF_ADDPROPERTYPAGE_ADVANCED

DIF_ADDPROPERTYPAGE_BASIC