Share via


SetupQueryInfVersionInformationW-Funktion (setupapi.h)

[Diese Funktion ist für die Verwendung in den betriebssystemen verfügbar, die im Abschnitt "Anforderungen" angegeben sind. Es kann in nachfolgenden Versionen geändert oder entfernt werden. SetupAPI sollte nicht mehr zum Installieren von Anwendungen verwendet werden. Verwenden Sie stattdessen den Windows Installer zum Entwickeln von Installationsprogrammen für Anwendungen. SetupAPI wird weiterhin zum Installieren von Gerätetreibern verwendet.]

Die SetupQueryInfVersionInformation-Funktion gibt INF-Dateiversionsinformationen aus einer SP_INF_INFORMATION-Struktur an einen Puffer zurück.

Syntax

WINSETUPAPI BOOL SetupQueryInfVersionInformationW(
  [in]      PSP_INF_INFORMATION InfInformation,
  [in]      UINT                InfIndex,
  [in]      PCWSTR              Key,
  [in, out] PWSTR               ReturnBuffer,
  [in]      DWORD               ReturnBufferSize,
  [in, out] PDWORD              RequiredSize
);

Parameter

[in] InfInformation

Zeiger auf eine SP_INF_INFORMATION Struktur, die zuvor von einem Aufruf der SetupGetInfInformation-Funktion zurückgegeben wurde.

[in] InfIndex

Index der INF-Datei, aus der Versionsinformationen abgerufen werden sollen. Dieser Index kann sich im Bereich [0, InfInformation.InfCount) befinden. Das bedeutet, dass die Werte InfInformation.InfCount null bis, aber nicht einschließen, gültig sind.

[in] Key

Optionaler Zeiger auf eine NULL-endende Zeichenfolge, die den Schlüsselnamen enthält, dessen zugeordnete Zeichenfolge abgerufen werden soll. Wenn dieser Parameter NULL ist, werden alle Ressourcenschlüssel in den angegebenen Puffer kopiert. Jede Zeichenfolge ist NULL-endend, mit einem zusätzlichen NULL-Wert am Ende der Liste.

[in, out] ReturnBuffer

Wenn nicht NULL, verweist ReturnBuffer auf einen vom Aufruf bereitgestellten Zeichenpuffer, in dem diese Funktion den INF-Dateistil zurückgibt. Sie sollten eine NULL-endende Zeichenfolge verwenden. Die NULL-Zeichenfolge darf die Größe des Zielpuffers nicht überschreiten. Sie können die Funktion einmal aufrufen, um die erforderliche Puffergröße abzurufen, den erforderlichen Arbeitsspeicher zuzuweisen und dann die Funktion ein zweites Mal aufzurufen, um die Daten abzurufen. Mit dieser Technik können Sie Fehler vermeiden, die auf eine unzureichende Puffergröße zurückzuführen sind. Weitere Informationen finden Sie im Abschnitt mit den Hinweisen. Dieser Parameter kann NULL sein.

[in] ReturnBufferSize

Größe des Puffers, auf den der ReturnBuffer-Parameter in Zeichen verweist. Diese Zahl enthält den NULL-Abschlusszeichen .

[in, out] RequiredSize

Wenn nicht NULL, zeiger auf eine Variable, die die erforderliche Größe für den Puffer empfängt, auf den der ReturnBuffer-Parameter verweist, in Zeichen. Diese Zahl enthält den NULL-Abschlusszeichen . Wenn ReturnBuffer angegeben ist und die tatsächliche Größe größer als der durch ReturnBufferSize angegebene Wert ist, schlägt die Funktion fehl, und ein Aufruf von GetLastError gibt ERROR_INSUFFICIENT_BUFFER zurück.

Rückgabewert

Wenn die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich null.

Wenn die Funktion fehlerhaft ist, ist der Rückgabewert null. Um erweiterte Fehlerinformationen zu erhalten, rufen Sie GetLastError auf.

Hinweise

Wenn diese Funktion mit einem ReturnBuffer von NULL und einem ReturnBufferSize-Wert von 0 (null) aufgerufen wird, fügt die Funktion die zum Halten der angegebenen Daten erforderliche Puffergröße in die Variable ein, auf die von RequiredSize verwiesen wird. Wenn dies für die Funktion erfolgreich ist, ist der Rückgabewert ein Wert ungleich Null. Andernfalls ist der Rückgabewert null, und erweiterte Fehlerinformationen können durch Aufrufen von GetLastError abgerufen werden.

Wenn SetupQueryInfVersionInformation für eine Ältere INF-Datei aufgerufen wird, werden Versionsinformationen auf folgende Weise aus der Legacy-INF-Datei generiert:

  1. Der OptionType-Schlüssel im Abschnitt Identifikation der Legacydatei wird als Klassenschlüsselwert zurückgegeben.
  2. Der FileType-Schlüssel im Abschnitt Signatur der älteren INF-Datei wird zum Signaturschlüsselwert.
  3. Wenn der Wert des FileType-Schlüssels der älteren INF-Datei MICROSOFT_FILE ist, wird der Wert des Anbieterschlüssels auf "Microsoft" festgelegt.
In der folgenden Tabelle wird zusammengefasst, wie die Informationen übersetzt werden, bevor sie an die SP_INF_INFORMATION-Struktur übergeben werden.
Legacydateiinformationen Windows INF-Informationen
[Identification]
OptionType = Mouse
[Version]
Class=Mouse
[Signature]
FileType = MICROSOFT_FILE
Signature=MICROSOFT_FILE
(wenn FileType MICROSOFT_FILE ist)
Provider="Microsoft"
 

Hinweis

Der Setupapi.h-Header definiert SetupQueryInfVersionInformation 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
Unterstützte Mindestversion (Client) Windows XP [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2003 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile setupapi.h
Bibliothek Setupapi.lib
DLL Setupapi.dll

Siehe auch

Funktionen

Übersicht

SetupGetInfInformation

SetupQueryInfFileInformation