SetupDiGetActualSectionToInstallA-Funktion (setupapi.h)

Die SetupDiGetActualSectionToInstall-Funktion ruft den entsprechenden INF-DDInstall-Abschnitt ab, der beim Installieren eines Geräts aus einer Geräte-INF-Datei auf einem lokalen Computer verwendet werden soll.

Syntax

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

Parameter

[in] InfHandle

Das Handle für die INF-Datei, die den Abschnitt DDInstall enthält.

[in] InfSectionName

Ein Zeiger auf den DDInstall-Abschnittsnamen (wie in einem Abschnitt in INF-Modelle angegeben). Die maximale Länge des Abschnittsnamens in Zeichen beträgt 254.

[out, optional] InfSectionWithExt

Ein Zeiger auf einen Zeichenpuffer zum Empfangen des DDInstall-Abschnittsnamens , seiner Plattformerweiterung und eines NULL-Abschlussators. Dies ist der dekorierte Abschnittsname, der für die Installation verwendet werden sollte. Wenn dieser Parameter NULL ist, muss InfSectionWithExtSize 0 sein. Wenn dieser Parameter NULL ist, gibt die Funktion TRUE zurück und legt RequiredSize auf die Größe in Zeichen fest, die erforderlich ist, um den Namen des DDInstall-Abschnitts , seine Plattformerweiterung und ein beendendes NULL-Zeichen zurückzugeben.

[in] InfSectionWithExtSize

Die Größe des Puffers InfSectionWithExt in Zeichen. Wenn InfSectionWithExtNULL ist, muss dieser Parameter 0 sein.

[out, optional] RequiredSize

Ein Zeiger auf die Variable, die die Größe in Zeichen empfängt, die erforderlich ist, um den DDInstall-Abschnittsnamen , die Plattformerweiterung und ein beendendes NULL-Zeichen zurückzugeben.

[out, optional] Extension

Ein Zeiger auf eine Variable, die einen Zeiger auf das Zeichen "." empfängt, das den Anfang der Erweiterung im Puffer InfSectionWithExt markiert. Wenn der InfSectionWithExt-Puffer nicht oder zu klein ist, wird dieser Parameter nicht festgelegt. Legen Sie diesen Parameter auf NULL fest, wenn kein Zeiger auf die Erweiterung erforderlich ist.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt sie TRUE zurück. Wenn die Funktion fehlschlägt, gibt sie FALSE zurück. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Diese Funktion unterstützt die Erweiterungen von DDInstall-Abschnittsnamen , die verwendet werden, um betriebssystemspezifisches und architekturspezifisches Installationsverhalten für ein Gerät anzugeben. Informationen zu diesen Erweiterungen finden Sie unter Erstellen von INF-Dateien für mehrere Plattformen und Betriebssysteme. SetupDiGetActualSectionToInstall sucht nach einem DDInstall-Abschnittsnamen , der dem lokalen Computer in der unten beschriebenen Weise entspricht.

Die Funktion sucht zunächst in der angegebenen INF-Datei nach einem dekorierten Installationsabschnittsnamen, der dem angegebenen Namen entspricht und über eine Erweiterung verfügt, die der Betriebssystem- und Prozessorarchitektur des lokalen Computers entspricht. Wenn Sie beispielsweise einen Abschnittsnamen von InstallSec angeben, sucht die Funktion abhängig von der Prozessorarchitektur des lokalen Computers nach einem der folgenden dekorierten Namen:

  • Für einen Computer, der auf der x86-Prozessorarchitektur basiert, sucht die Funktion nach dem dekorierten Namen InstallSec.ntx86.
  • Für einen Computer, der auf der x64-Prozessorarchitektur basiert, sucht die Funktion nach dem dekorierten Namen InstallSec.ntamd64.
  • Für einen Computer, der auf der Itanium-Prozessorarchitektur basiert, sucht die Funktion nach dem dekorierten Namen InstallSec.ntia64.
Wenn die Funktion eine Übereinstimmung für den Namen, das Betriebssystem und die Prozessorarchitektur findet, beendet sie die Suche und gibt den entsprechenden dekorierten Namen zurück. Wenn die Funktion eine solche Übereinstimmung nicht findet, sucht die Funktion nach einem Abschnitt mit dem Namen InstallSec.NT. Wenn die Funktion eine Übereinstimmung für InstallSec.NT findet, beendet sie die Suche und gibt diesen Namen zurück. Wenn die Funktion keine Übereinstimmung für eine der oben genannten Suchvorgänge findet, gibt sie InstallSec zurück, überprüft aber nicht, ob die INF-Datei einen Installationsabschnitt enthält, dessen Name InstallSec lautet.

Der DDInstall-Abschnittsname wird als Basis für die Namen des Abschnitts Hardware und Dienste verwendet. Wenn beispielsweise der gefundene DDInstall-AbschnittsnameInstallSec.NTX86 lautet, muss der Name des Abschnitts Diensteden Namen InstallSec.NTX86.Services haben.

Der ursprüngliche DDInstall-Abschnittsname , der im Treiberknoten angegeben ist, wird in den InfSection-Werteintrag des Treiberregistrierungsschlüssels geschrieben. Die gefundene Erweiterung wird im Schlüssel als REG_SZ Wert InfSectionExt gespeichert. Beispiel:

InfSection       : REG_SZ :    "InstallSec"
InfSectionExt    : REG_SZ :    ".NTX86"

Wenn für das angegebene Geräteinformationselement kein Treiber ausgewählt ist, wird ein NULL-Treiber installiert. Bei der Rückgabe geben die Flags in der SP_DEVINSTALL_PARAMS Struktur des Geräts an, ob das System neu gestartet oder neu gestartet werden soll, damit das Gerät gestartet wird.

Hinweis

Der setupapi.h-Header definiert SetupDiGetActualSectionToInstall als Alias, der die ANSI- oder Unicode-Version dieser Funktion basierend auf der Definition der UNICODE-Präprozessorkonstante automatisch auswählt. Das Mischen der Verwendung des codierungsneutralen Alias mit nicht codierungsneutralem Code kann zu Nichtübereinstimmungen führen, die zu Kompilierungs- oder Laufzeitfehlern führen. Weitere Informationen finden Sie unter Konventionen für Funktionsprototypen.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows.
Zielplattform Desktop
Kopfzeile setupapi.h (einschließlich Setupapi.h)
Bibliothek Setupapi.lib

Weitere Informationen

ABSCHNITT INF DDInstall

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice