SetupDiGetActualSectionToInstallW 함수(setupapi.h)
SetupDiGetActualSectionToInstall 함수는 로컬 컴퓨터의 디바이스 INF 파일에서 디바이스를 설치할 때 사용할 적절한 INF DDInstall 섹션을 검색합니다.
구문
WINSETUPAPI BOOL SetupDiGetActualSectionToInstallW(
[in] HINF InfHandle,
[in] PCWSTR InfSectionName,
[out, optional] PWSTR InfSectionWithExt,
[in] DWORD InfSectionWithExtSize,
[out, optional] PDWORD RequiredSize,
[out, optional] PWSTR *Extension
);
매개 변수
[in] InfHandle
DDInstall 섹션이 포함된 INF 파일에 대한 핸들입니다.
[in] InfSectionName
DDInstall 섹션 이름에 대한 포인터입니다(INF 모델 섹션에 지정된 대로). 섹션 이름의 최대 길이(문자)는 254입니다.
[out, optional] InfSectionWithExt
DDInstall 섹션 이름, 해당 플랫폼 확장 및 NULL 종결자를 받을 문자 버퍼에 대한 포인터입니다. 설치에 사용해야 하는 데코레이팅된 섹션 이름입니다. 이 매개 변수가 NULL인 경우 InfSectionWithExtSize 는 0이어야 합니다. 이 매개 변수가 NULL인 경우 함수는 TRUE 를 반환하고 RequiredSize 를 DDInstall 섹션 이름, 플랫폼 확장 및 종료 NULL 문자를 반환하는 데 필요한 크기(문자)로 설정합니다.
[in] InfSectionWithExtSize
InfSectionWithExt 버퍼의 크기(문자)입니다. InfSectionWithExt가 NULL인 경우 이 매개 변수는 0이어야 합니다.
[out, optional] RequiredSize
DDInstall 섹션 이름, 플랫폼 확장 및 종료 NULL 문자를 반환하는 데 필요한 크기(문자)를 수신하는 변수에 대한 포인터입니다.
[out, optional] Extension
InfSectionWithExt 버퍼에서 확장의 시작을 표시하는 '.' 문자에 대한 포인터를 수신하는 변수에 대한 포인터입니다. InfSectionWithExt 버퍼가 제공되지 않거나 너무 작은 경우 이 매개 변수가 설정되지 않습니다. 확장에 대한 포인터가 필요하지 않은 경우 이 매개 변수를 NULL 로 설정합니다.
반환 값
함수가 성공하면 TRUE를 반환 합니다. 함수가 실패하면 FALSE를 반환합니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
이 함수는 디바이스에 대한 OS별 및 아키텍처별 설치 동작을 지정하는 데 사용되는 DDInstall 섹션 이름에 대한 확장을 지원합니다. 이러한 확장에 대한 자세한 내용은 여러 플랫폼 및 운영 체제용 INF 파일 만들기를 참조하세요. SetupDiGetActualSectionToInstall 은 아래에 설명된 방식으로 로컬 컴퓨터와 일치하는 DDInstall 섹션 이름을 검색합니다.
함수는 먼저 지정된 INF 파일에서 지정된 이름과 일치하고 로컬 컴퓨터의 운영 체제 및 프로세서 아키텍처와 일치하는 확장명을 갖는 데코레이팅된 설치 섹션 이름을 검색합니다. 예를 들어 InstallSec의 섹션 이름을 지정하면 함수는 로컬 컴퓨터의 프로세서 아키텍처에 따라 다음 데코레이트된 이름 중 하나를 검색합니다.
- x86 프로세서 아키텍처를 기반으로 하는 컴퓨터의 경우 함수는 데코레이팅된 이름 InstallSec.ntx86을 검색합니다.
- x64 프로세서 아키텍처를 기반으로 하는 컴퓨터의 경우 함수는 데코레이팅된 이름 InstallSec.ntamd64를 검색합니다.
- Itanium 프로세서 아키텍처를 기반으로 하는 컴퓨터의 경우 함수는 데코레이팅된 이름 InstallSec.ntia64를 검색합니다.
DDInstall 섹션 이름은 하드웨어 및 서비스 섹션 이름의 기반으로 사용됩니다. 예를 들어 발견된 DDInstall 섹션 이름이 InstallSec.NTX86인 경우 서비스 섹션 이름은 InstallSec.NTX86.Services여야 합니다.
드라이버 노드에 지정된 원래 DDInstall 섹션 이름은 드라이버의 레지스트리 키의 InfSection 값 항목에 기록됩니다. 발견된 확장은 키에 REG_SZ 값 InfSectionExt로 저장됩니다. 예를 들면 다음과 같습니다.
InfSection : REG_SZ : "InstallSec"
InfSectionExt : REG_SZ : ".NTX86"
지정된 디바이스 정보 요소에 대해 드라이버를 선택하지 않으면 null 드라이버가 설치됩니다. 반환 시 디바이스의 SP_DEVINSTALL_PARAMS 구조에 있는 플래그는 디바이스를 시작하도록 시스템을 다시 시작하거나 다시 부팅해야 하는지 여부를 나타냅니다.
참고
setupapi.h 헤더는 SETUPDiGetActualSectionToInstall을 유니코드 전처리기 상수의 정의에 따라 이 함수의 ANSI 또는 유니코드 버전을 자동으로 선택하는 별칭으로 정의합니다. 인코딩 중립 별칭을 인코딩 중립이 아닌 코드와 혼합하면 컴파일 또는 런타임 오류가 발생하는 불일치가 발생할 수 있습니다. 자세한 내용은 함수 프로토타입에 대한 규칙을 참조하세요.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Microsoft Windows 2000 이상 버전의 Windows에서 사용할 수 있습니다. |
대상 플랫폼 | 데스크톱 |
머리글 | setupapi.h(Setupapi.h 포함) |
라이브러리 | Setupapi.lib |
추가 정보
피드백
https://aka.ms/ContentUserFeedback
출시 예정: 2024년 내내 콘텐츠에 대한 피드백 메커니즘으로 GitHub 문제를 단계적으로 폐지하고 이를 새로운 피드백 시스템으로 바꿀 예정입니다. 자세한 내용은 다음을 참조하세요.다음에 대한 사용자 의견 제출 및 보기