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