SP_PROPSHEETPAGE_REQUEST 구조체(setupapi.h)
SP_PROPSHEETPAGE_REQUEST 구조체를 SetupAPI DLL의 ExtensionPropSheetPageProc 진입점에 첫 번째 매개 변수(lpv)로 전달할 수 있습니다. ExtensionPropSheetPageProc 은 지정된 속성 시트 페이지에 대한 핸들을 검색하는 데 사용됩니다.
ExtensionPropSheetPageProc 및 관련 함수에 대한 자세한 내용은 Microsoft Windows SDK 설명서를 참조하세요.
구문
typedef struct _SP_PROPSHEETPAGE_REQUEST {
DWORD cbSize;
DWORD PageRequested;
HDEVINFO DeviceInfoSet;
PSP_DEVINFO_DATA DeviceInfoData;
} SP_PROPSHEETPAGE_REQUEST, *PSP_PROPSHEETPAGE_REQUEST;
멤버
cbSize
SP_PROPSHEETPAGE_REQUEST 구조체의 크기(바이트)입니다.
PageRequested
속성 시트에 추가할 속성 시트 페이지입니다. 다음 값 중 하나일 수 있습니다.
SPPSR_SELECT_DEVICE_RESOURCES
SetupAPI DLL에서 제공하는 리소스 선택 페이지를 지정합니다.
SPPSR_ENUM_BASIC_DEVICE_PROPERTIES
디바이스의 BasicProperties32 공급자가 제공하는 페이지를 지정합니다. 즉, 설치 관리자 또는 DIF_ADDPROPERTYPAGE_BASIC 설치 요청에 대한 응답으로 페이지를 제공한 기타 구성 요소입니다.
SPPSR_ENUM_ADV_DEVICE_PROPERTIES
클래스 및/또는 디바이스의 EnumPropPages32 공급자가 제공하는 페이지를 지정합니다. 즉, DIF_ADDPROPERTYPAGE_ADVANCED 설치 요청에 대한 응답으로 페이지를 제공한 설치 관리자 또는 기타 구성 요소입니다.
DeviceInfoSet
설치 중인 디바이스를 포함하는 디바이스 정보 집합에 대한 핸들입니다.
DeviceInfoData
설치 중인 디바이스의 SP_DEVINFO_DATA 구조에 대한 포인터입니다.
설명
속성 페이지를 검색하는 구성 요소는 SetupAPI의 ExtensionPropSheetPageProc 함수를 호출하고 SP_PROPSHEETPAGE_REQUEST 구조체, AddPropSheetPageProc 함수의 주소 및 일부 개인 데이터에 대한 포인터를 전달합니다. 속성 시트 공급자는 제공하는 각 속성 시트에 대해 AddPropSheetPageProc 루틴을 호출합니다.
다음 코드에서 발췌한 내용은 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 은 다음과 같습니다.
BOOL
CALLBACK
AddPropSheetPageProc(
IN HPROPSHEETPAGE hpage,
IN LPARAM lParam
)
{
*((HPROPSHEETPAGE *)lParam) = hpage;
return TRUE;
}
요구 사항
요구 사항 | 값 |
---|---|
헤더 | setupapi.h(Setupapi.h 포함) |