Freigeben über


MsiRecordGetStringA-Funktion (msiquery.h)

Die MsiRecordGetString--Funktion gibt den Zeichenfolgenwert eines Datensatzfelds zurück.

Syntax

UINT MsiRecordGetStringA(
  [in]      MSIHANDLE hRecord,
  [in]      UINT      iField,
  [out]     LPSTR     szValueBuf,
  [in, out] LPDWORD   pcchValueBuf
);

Parameter

[in] hRecord

Behandeln sie den Datensatz.

[in] iField

Gibt das angeforderte Feld an.

[out] szValueBuf

Zeigen Sie auf den Puffer, der die beendete NULL-Zeichenfolge empfängt, die den Wert des Datensatzfelds enthält. Versuchen Sie nicht, die Größe des Puffers zu ermitteln, indem Sie für szValueBufeinen Nullwert (Wert=0) übergeben. Sie können die Größe des Puffers abrufen, indem Sie eine leere Zeichenfolge übergeben (z. B. ""). Die Funktion gibt dann ERROR_MORE_DATA zurück und pcchValueBuf enthält die erforderliche Puffergröße in TCHARs, nicht einschließlich des endenden Nullzeichens. Bei Rückgabe von ERROR_SUCCESSenthält pcchValueBuf- die Anzahl der TCHARs, die in den Puffer geschrieben, nicht einschließlich des endenden Nullzeichens.

[in, out] pcchValueBuf

Zeigen Sie auf die Variable, die die Größe des Puffers in TCHAR-s angibt, auf den die Variable szValueBufverweist. Wenn die Funktion ERROR_SUCCESSzurückgibt, enthält diese Variable die Größe der in szValueBufkopierten Daten, nicht einschließlich des endenden Nullzeichens. Wenn szValueBuf- nicht groß genug ist, gibt die Funktion ERROR_MORE_DATA zurück und speichert die erforderliche Größe, nicht einschließlich des endenden NULL-Zeichens, in der Variablen, auf die durch pcchValueBufverwiesen wird.

Rückgabewert

Die MsiRecordGetString--Funktion gibt einen der folgenden Werte zurück:

Bemerkungen

Wenn ERROR_MORE_DATA zurückgegeben wird, gibt der Parameter, der ein Zeiger ist, die Größe des Puffers an, der zum Halten der Zeichenfolge erforderlich ist. Wenn ERROR_SUCCESS zurückgegeben wird, gibt sie die Anzahl der Zeichen an, die in den Zeichenfolgenpuffer geschrieben wurden. Um die Größe des Puffers abzurufen, übergeben Sie die Adresse eines 1-Zeichenpuffers als szValueBuf- und geben Sie die Größe des Puffers mit pcchValueBuf als 0 an. Dadurch wird sichergestellt, dass kein von der Funktion zurückgegebener Zeichenfolgenwert in den Puffer passt. Versuchen Sie nicht, die Größe des Puffers zu ermitteln, indem Sie einen Nullwert (Wert=0) übergeben.

Anmerkung

Der msiquery.h-Header definiert MsiRecordGetString 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- Windows Installer 5.0 unter Windows Server 2012, Windows 8, Windows Server 2008 R2 oder Windows 7. Windows Installer 4.0 oder Windows Installer 4.5 unter Windows Server 2008 oder Windows Vista.
Zielplattform- Fenster
Header- msiquery.h
Library Msi.lib
DLL- Msi.dll

Siehe auch

Übergeben von Null als Argument von Windows Installer-Funktionen

Datensatzverarbeitungsfunktionen