다음을 통해 공유


SP_DRVINSTALL_PARAMS 구조체(setupapi.h)

SP_DRVINSTALL_PARAMS 구조에는 특정 드라이버 정보 요소와 연결된 드라이버 설치 매개 변수가 포함됩니다.

구문

typedef struct _SP_DRVINSTALL_PARAMS {
  DWORD     cbSize;
  DWORD     Rank;
  DWORD     Flags;
  DWORD_PTR PrivateData;
  DWORD     Reserved;
} SP_DRVINSTALL_PARAMS, *PSP_DRVINSTALL_PARAMS;

멤버

cbSize

SP_DRVINSTALL_PARAMS 구조체의 크기(바이트)입니다.

Rank

이 드라이버의 순위 일치입니다. 0에서 n까지의 범위이며, 여기서 0은 가장 호환됩니다.

Flags

이 드라이버에서 작동하는 함수를 제어하는 플래그입니다. 다음의 조합일 수 있습니다.

DNF_ALWAYSEXCLUDEFROMLIST(Windows Vista 이상 버전의 Windows)

이 플래그를 설정하면 열거형을 수행하는 클라이언트에 관계없이 드라이버 노드 가 열거되지 않습니다.

DNF_AUTHENTICODE_SIGNED(Windows Server 2003 이상 버전의 Windows)

이 드라이버의 INF 파일은 Authenticode 서명으로 서명됩니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

자세한 내용은 SetupAPI를 사용하여 드라이버 Authenticode 서명 확인을 참조하세요.

DNF_BAD_DRIVER

이 드라이버를 사용하지 마세요. 설치 관리자는 이 플래그를 읽고 쓸 수 있습니다.

이 플래그가 설정되면 SetupDiSelectBestCompatDrvSetupDiSelectDevice 는 이 드라이버를 무시합니다.

클래스 설치 관리자 또는 공동 설치 관리자는 Windows가 드라이버 선택 대화 상자에 드라이버를 나열하지 못하도록 이 플래그를 설정할 수 있습니다. 예를 들어 설치 관리자가 DIF_SELECTDEVICE 또는 DIF_SELECTBESTCOMPATDRV 요청을 처리할 때 이 플래그를 설정할 수 있습니다.

DNF_BASIC_DRIVER(Windows XP 이상 버전의 Windows)

이 드라이버는 기본 드라이버입니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_CLASS_DRIVER

이 드라이버는 클래스 드라이버입니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_COMPATIBLE_DRIVER

이 드라이버는 호환되는 드라이버입니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_DUPDESC

이 드라이버와 동일한 설명을 가진 드라이버를 제공하는 다른 공급자가 있습니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_DUPDRIVERVER(Windows XP 이상 버전의 Windows)

이 드라이버와 동일한 버전을 가진 드라이버를 제공하는 다른 공급자가 있습니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_DUPPROVIDER

이 드라이버와 동일한 설명을 가진 드라이버를 제공하는 다른 공급자가 있습니다. 이 드라이버와 해당 드라이버의 일치 항목 간의 유일한 차이점은 드라이버 날짜입니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

이 플래그가 설정되면 Windows에서 드라이버 날짜 및 드라이버 버전을 드라이버 옆에 표시하여 사용자가 일치 항목과 구분할 수 있도록 합니다.

DNF_EXCLUDEFROMLIST

드라이버 선택 대화 상자에 이 드라이버를 표시하지 마세요.

DNF_INBOX_DRIVER(Windows Vista 이상 버전의 Windows)

드라이버 노드 는 이 버전의 Windows에 포함된 INF 파일에서 파생됩니다.

DNF_INET_DRIVER

이 드라이버는 인터넷에서 온 또는 Windows 업데이트. 이 플래그는 설치 관리자에게 읽기 전용입니다.

SetupCopyOEMInf를 호출하는 경우 Windows에서 이 INF를 %SystemRoot%\inf 디렉터리에 복사할 때 Windows에서 인터넷 INF로 표시하도록 SPOST_URL 플래그를 지정해야 합니다. 이 단계를 생략하면 Windows에서 이 디바이스를 사용하여 다른 디바이스를 설치하려고 시도합니다. 그 결과 Windows에는 더 이상 원본 파일이 없으며 사용자에게 잘못된 경로를 묻는 메시지가 표시됩니다.

DNF_INF_IS_SIGNED(Windows XP 이상 버전의 Windows)

이 플래그는 설치 관리자에게 읽기 전용이며 다음 조건 중 어느 것이라도 true이면 설정됩니다.

  • 드라이버에 WHQL 릴리스 서명이 있습니다.
  • 드라이버는 받은 편지함 드라이버입니다.
  • 드라이버에 Authenticode 서명이 있습니다.
자세한 내용은 드라이버 서명을 참조하세요.

DNF_INSTALLEDDRIVER(Windows Vista 이상 버전의 Windows)

드라이버 노드 는 현재 디바이스에 대해 설치되어 있습니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_LEGACYINF

이 드라이버는 레거시 INF 파일에서 제공됩니다. 이 플래그는 NT 기반 운영 체제에만 유효합니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_NODRIVER

이 논리 드라이버에 대해 물리적 드라이버를 설치하지 않을 경우 를 설정합니다.

DNF_OEM_F6_INF(Windows XP 이상 버전의 Windows)

예약되어 있습니다.

DNF_OLD_INET_DRIVER

이 드라이버는 인터넷에서 왔지만 Windows는 현재 원본 파일에 액세스할 수 없습니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

Windows에는 원본 파일이 없으며 사용자에게 잘못된 경로를 묻는 메시지가 표시되므로 시스템에서 이 플래그로 표시된 드라이버를 설치하지 않습니다. 이러한 드라이버에 대한 INF는 디바이스 설치를 제외한 모든 항목에 사용할 수 있습니다.

DNF_OLDDRIVER

이 드라이버는 현재/이전에 연결된 디바이스를 제어했습니다. 이 플래그는 설치 관리자에게 읽기 전용입니다.

DNF_REQUESTADDITIONALSOFTWARE(Windows 7 이상 버전의 Windows)

드라이버 패키지가 디바이스를 작동하는 데 필요한 소프트웨어 솔루션의 일부일 경우 이 플래그를 설정합니다. 이 경우 드라이버 패키지에는 추가 소프트웨어를 설치해야 합니다.

자세한 내용은 아래 설명 부분을 참조하십시오.

PrivateData

클래스 설치 관리자가 개인 데이터를 저장하는 데 사용할 수 있는 필드입니다. 공동 설치 관리자는 이 필드를 사용하면 안 됩니다.

Reserved

예약되어 있습니다. 내부 전용입니다.

설명

Windows 7부터 설치 관리자 또는 공동 설치 관리자는 DNF_REQUESTADDITIONALSOFTWARE 플래그를 설정하여 드라이버 패키지 에 컴퓨터에 설치되거나 설치되지 않은 추가 소프트웨어가 필요함을 나타낼 수 있습니다.

디바이스에 대한 드라이버 패키지를 설치한 후 설치 관리자가 DNF_REQUESTADDITIONALSOFTWARE 플래그를 설정하는 경우 플러그 앤 플레이(PnP) 관리자는 다음 단계를 수행합니다.

  1. PnP 관리자는 RequestAddtionalSoftware 형식의 PRS(문제 보고서 및 솔루션) 오류 보고서를 생성합니다. 이 보고서에는 디바이스의 특정 하드웨어 ID 및 컴퓨터의 시스템 아키텍처에 대한 정보가 포함되어 있습니다.
  2. 디바이스별 소프트웨어에 대한 IHV(독립 하드웨어 공급업체)에서 제공하는 솔루션이 있는 경우 솔루션이 컴퓨터에 다운로드됩니다.
    참고 솔루션의 다운로드는 소프트웨어 자체를 설치하지 않습니다.
     
  3. 디바이스별 소프트웨어가 컴퓨터에 설치되지 않은 경우 PnP 관리자는 사용자에게 솔루션을 제공하고 소프트웨어를 다운로드할 수 있는 링크를 제공합니다. 그러면 사용자는 솔루션에 제공된 지침에 따라 이 소프트웨어를 다운로드하고 설치하도록 선택할 수 있습니다.
참고드라이버 패키지의 INF 파일이 INF ControlFlags 섹션에서RequestAdditionalSoftware 플래그를 설정한 경우 설치 관리자가 DNF_REQUESTADDITIONALSOFTWARE 플래그를 설정할 필요가 없습니다.

요구 사항

요구 사항
헤더 setupapi.h(Setupapi.h 포함)

추가 정보

SetupDiGetDriverInstallParams

SetupDiSetDriverInstallParams