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.
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 |