Bagikan melalui


struktur SP_PROPSHEETPAGE_REQUEST (setupapi.h)

Struktur SP_PROPSHEETPAGE_REQUEST dapat diteruskan sebagai parameter pertama (lpv) ke titik entri ExtensionPropSheetPageProc di SetupAPI DLL. ExtensionPropSheetPageProc digunakan untuk mengambil handel ke halaman lembar properti tertentu.

Untuk informasi tentang ExtensionPropSheetPageProc dan fungsi terkait, lihat dokumentasi Microsoft Windows SDK.

Sintaks

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

Anggota

cbSize

Ukuran, dalam byte, dari struktur SP_PROPSHEETPAGE_REQUEST.

PageRequested

Halaman lembar properti untuk ditambahkan ke lembar properti. Dapat berupa salah satu dari nilai berikut:

SPPSR_SELECT_DEVICE_RESOURCES

Menentukan halaman Pilihan Sumber Daya yang disediakan oleh SETUPAPI DLL.

SPPSR_ENUM_BASIC_DEVICE_PROPERTIES

Menentukan halaman yang disediakan oleh penyedia BasicProperties32 perangkat. Artinya, alat penginstal atau komponen lain yang menyediakan halaman sebagai respons terhadap permintaan penginstalan DIF_ADDPROPERTYPAGE_BASIC .

SPPSR_ENUM_ADV_DEVICE_PROPERTIES

Menentukan halaman yang disediakan oleh kelas dan/atau penyedia EnumPropPages32 perangkat. Artinya, alat penginstal atau komponen lain yang menyediakan halaman sebagai respons terhadap permintaan penginstalan DIF_ADDPROPERTYPAGE_ADVANCED .

DeviceInfoSet

Handel untuk set informasi perangkat yang berisi perangkat yang sedang diinstal.

DeviceInfoData

Penunjuk ke struktur SP_DEVINFO_DATA untuk perangkat yang sedang diinstal.

Keterangan

Komponen yang mengambil halaman properti memanggil fungsi ExtensionPropSheetPageProc SetupAPI dan meneruskan penunjuk ke struktur SP_PROPSHEETPAGE_REQUEST, alamat fungsi AddPropSheetPageProc mereka, dan beberapa data privat. Penyedia lembar properti memanggil rutinitas AddPropSheetPageProc untuk setiap lembar properti yang disediakannya.

Kutipan kode berikut menunjukkan cara mengambil satu halaman, halaman Pilihan Sumber Daya 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 untuk kutipan sebelumnya akan menjadi sesuatu seperti berikut:

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

Persyaratan

Persyaratan Nilai
Header setupapi.h (termasuk Setupapi.h)

Lihat juga

DIF_ADDPROPERTYPAGE_ADVANCED

DIF_ADDPROPERTYPAGE_BASIC