Finish-Install 작업 구현

참고

이 섹션에 설명된 기능은 범용 또는 모바일 드라이버 패키지에서 지원되지 않습니다. 유니버설 INF 파일 사용을 참조하세요.

설치 관리자 (클래스 설치 관리자, 클래스 공동 설치 관리자 또는 디바이스 공동 설치 관리자)는 완료 설치 작업을 제공합니다. 설치 완료 작업은 실행 프로그램을 실행하거나, 프로세스를 만들거나, 스레드를 만들거나, 디바이스 드라이버 설치 완료 설치 프로세스에서 코드를 실행할 수 있습니다.

설치 완료 작업을 구현하려면 설치 관리자:

  1. 설치 관리자가 DIF_NEWDEVICEWIZARD_FINISHINSTALL DIF 코드를 처리하고 다음 오류 코드 중 하나를 반환할 때 DI_FLAGSEX_FINISHINSTALL_ACTION 플래그를 설정합니다.

    • 마침 설치 마법사 페이지가 없는 클래스 설치 관리자인 경우 ERROR_DI_DO_DEFAULT.
    • 마침 설치 마법사 페이지가 있는 클래스 설치 관리자 또는 마침 설치 마법사 페이지가 있거나 없는 공동 설치 관리자인 경우 NO_ERROR.
  2. DIF_FINISHINSTALL_ACTION 요청을 처리할 때 마침 설치 작업을 수행합니다.

    설치 관리자는 다음 표의 오류 코드 중 하나를 반환합니다.

    오류 코드 의미

    ERROR_DI_DO_DEFAULT

    클래스 설치 관리자: 클래스 설치 관리자가 완료 설치 작업을 성공적으로 실행했으며 Windows 기본 처리를 수행하도록 요청합니다. 클래스 설치 관리자도 마침 설치 작업이 없는 경우 이 오류 코드를 반환해야 합니다.

    디바이스 또는 클래스 공동 설치 관리자: 공동 설치 관리자는 이 오류 코드를 반환하지 않습니다.

    NO_ERROR

    클래스 설치 관리자: 클래스 설치 관리자가 완료 설치 작업을 성공적으로 실행했습니다. Windows 기본 처리를 수행하면 안 됩니다.

    디바이스 또는 클래스 공동 설치 관리자: 공동 설치 관리자가 완료 설치 작업을 성공적으로 실행했거나 마침 설치 작업이 없습니다.

    Microsoft Win32 오류

    설치 관리자에 오류가 발생했지만 설치 완료 작업을 다시 시도해야 합니다. Win32 오류 코드를 반환하면 Windows 다음 번에 디바이스가 열거될 때 완료 설치 작업을 완료하기 위해 다른 마침 설치 프로세스를 실행해야 했음을 나타냅니다.

참고 설치 완료 작업이 실패하고 다시 시도하지 않아야 하는 경우 클래스 설치 관리자는 ERROR_DI_DO_DEFAULT 반환하고 디바이스 또는 클래스 공동 설치 관리자는 NO_ERROR 반환합니다.

마침 설치 작업을 개발하는 방법에 대한 자세한 내용은 완료 설치 작업을 구현하는 방법을 보여 주는 샘플 코드 에 대한 Finish-Install 동작 구현 지침을 참조하세요. 다음 항목을 참조하세요.

코드 예제: 클래스 설치 관리자의 Finish-Install 작업

코드 예제: 공동 설치 관리자의 Finish-Install 작업