SetupDiGetActualSectionToInstallA 함수(setupapi.h)

SetupDiGetActualSectionToInstall 함수는 로컬 컴퓨터의 디바이스 INF 파일에서 디바이스를 설치할 때 사용할 적절한 INF DDInstall 섹션을 검색합니다.

구문

WINSETUPAPI BOOL SetupDiGetActualSectionToInstallA(
  [in]            HINF   InfHandle,
  [in]            PCSTR  InfSectionName,
  [out, optional] PSTR   InfSectionWithExt,
  [in]            DWORD  InfSectionWithExtSize,
  [out, optional] PDWORD RequiredSize,
  [out, optional] PSTR   *Extension
);

매개 변수

[in] InfHandle

DDInstall 섹션이 포함된 INF 파일에 대한 핸들입니다.

[in] InfSectionName

DDInstall 섹션 이름에 대한 포인터입니다(INF 모델 섹션에 지정된 대로). 섹션 이름의 최대 길이(문자)는 254입니다.

[out, optional] InfSectionWithExt

DDInstall 섹션 이름, 플랫폼 확장 및 NULL 종결자를 받을 문자 버퍼에 대한 포인터입니다. 설치에 사용해야 하는 데코레이트된 섹션 이름입니다. 이 매개 변수가 NULL인 경우 InfSectionWithExtSize 는 0이어야 합니다. 이 매개 변수가 NULL이면 함수는 TRUE 를 반환하고 RequiredSizeDDInstall 섹션 이름, 플랫폼 확장 및 종료 NULL 문자를 반환하는 데 필요한 크기(문자)로 설정합니다.

[in] InfSectionWithExtSize

InfSectionWithExt 버퍼의 크기(문자 단위)입니다. InfSectionWithExtNULL인 경우 이 매개 변수는 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를 검색합니다.
함수가 이름, 운영 체제 및 프로세서 아키텍처와 일치하는 항목을 찾으면 검색을 종료하고 해당 데코레이트된 이름을 반환합니다. 함수가 이러한 일치 항목을 찾지 못하면 함수는 이름이 InstallSec.NT인 섹션을 검색합니다. 함수가 InstallSec.NT에 대한 일치 항목을 찾으면 검색을 종료하고 이 이름을 반환합니다. 함수가 위의 검색 중 하나에 대한 일치 항목을 찾지 못하면 InstallSec을 반환하지만 이름이 InstallSec인 설치 섹션이 INF 파일에 포함되어 있는지는 확인하지 않습니다.

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

추가 정보

INF DDInstall 섹션

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice