Freigeben über


SetupDiGetActualSectionToInstallA-Funktion (setupapi.h)

Die SetupDiGetActualSectionToInstall-Funktion ruft den entsprechenden INF DDInstall-Abschnitt ab, der beim Installieren eines Geräts von einer 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 INF Models-Abschnittangegeben). 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-Terminators. Dies ist der verzierte Abschnittsname, der für die Installation verwendet werden soll. Wenn dieser Parameter NULL-ist, muss InfSectionWithExtSize null 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 DDInstall Abschnittsnamen, dessen Plattformerweiterung und ein endendes NULL-Zeichen zurückzugeben.

[in] InfSectionWithExtSize

Die Größe des InfSectionWithExt Puffers in Zeichen. Wenn InfSectionWithExt-NULL-ist, muss dieser Parameter null 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 endendes 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 InfSectionWithExt- Puffer markiert. Wenn der InfSectionWithExt- Puffer nicht angegeben 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, wird TRUE-zurückgegeben. Wenn die Funktion fehlschlägt, wird FALSE-zurückgegeben. Rufen Sie GetLastErrorauf, um erweiterte Fehlerinformationen zu erhalten.

Bemerkungen

Diese Funktion unterstützt die Erweiterungen für DDInstall Abschnittsnamen, die zum Angeben von betriebssystemspezifischen und architekturspezifischen Installationsverhaltens für ein Gerät verwendet werden. 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 zuerst in der angegebenen INF-Datei nach einem eingerichteten Installationsabschnittsnamen, der dem angegebenen Namen entspricht, und verfügt über eine Erweiterung, die mit dem Betriebssystem und der Prozessorarchitektur des lokalen Computers übereinstimmt. Wenn Sie z. B. einen Abschnittsnamen von InstallSecangeben, sucht die Funktion abhängig von der Prozessorarchitektur des lokalen Computers nach einem der folgenden eingerichteten Namen:

  • Für einen Computer, der auf der x86-Prozessorarchitektur basiert, sucht die Funktion nach dem verzierten Namen InstallSec.ntx86.
  • Für einen Computer, der auf der x64-Prozessorarchitektur basiert, sucht die Funktion nach dem verzierten Namen InstallSec.ntamd64.
  • Für einen Computer, der auf der Itanium-Prozessorarchitektur basiert, sucht die Funktion nach dem verzierten 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 verzierten Namen zurück. Wenn die Funktion keine solche Übereinstimmung findet, sucht die Funktion nach einem Abschnitt, dessen Name InstallSec.NTist. Wenn die Funktion eine Übereinstimmung für InstallSec.NTfindet, wird die Suche beendet und dieser Name zurückgegeben. Wenn die Funktion für eine der oben genannten Suchvorgänge keine Übereinstimmung findet, wird InstallSeczurückgegeben, aber nicht überprüft, ob die INF-Datei einen Installationsabschnitt enthält, dessen Name InstallSecist.

Der DDInstall Abschnittsname wird als Basis für Hardware- und Services Abschnittsnamen verwendet. Wenn beispielsweise der DDInstall gefundene Abschnittsname InstallSec.NTX86ist, muss der Services Abschnittsname InstallSec.NTX86.Servicesbenannt werden.

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

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

Wenn kein Treiber für das angegebene Geräteinformationselement ausgewählt ist, wird ein NULL-Treiber installiert. Nach 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.

Anmerkung

Der Header "setupapi.h" 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 Code, der nicht codierungsneutral ist, 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
mindestens unterstützte Client- Verfügbar in Microsoft Windows 2000 und höheren Versionen von Windows.
Zielplattform- Desktop
Header- setupapi.h (include Setupapi.h)
Library Setupapi.lib

Siehe auch

ABSCHNITT "INF DDInstall"

SetupDiGetActualSectionToInstallEx

SetupDiInstallDevice-