SysAllocStringByteLen-Funktion (oleauto.h)

Verwendet eine ANSI-Zeichenfolge als Eingabe und gibt einen BSTR zurück, der eine ANSI-Zeichenfolge enthält. Führt keine ANSI-in-Unicode-Übersetzung durch.

Syntax

BSTR SysAllocStringByteLen(
  [in, optional] LPCSTR psz,
  [in]           UINT   len
);

Parameter

[in, optional] psz

Die zu kopierende Zeichenfolge oder NULL, um die Zeichenfolge nicht initialisiert zu halten.

[in] len

Die Anzahl der zu kopierenden Bytes. Anschließend wird ein NULL-Zeichen eingefügt, das eine Summe von len plus der Größe von OLECHAR-Bytes zuteilt.

Rückgabewert

Eine Kopie der Zeichenfolge oder NULL, wenn nicht genügend Arbeitsspeicher vorhanden ist, um den Vorgang abzuschließen.

Hinweise

Diese Funktion wird bereitgestellt, um BSTRs zu erstellen, die Binärdaten enthalten. Sie können diesen BSTR-Typ nur in Situationen verwenden, in denen er nicht von ANSI in Unicode übersetzt wird oder umgekehrt.

Verwenden Sie beispielsweise diese BSTRs nicht zwischen einer 16-Bit- und einer 32-Bit-Anwendung, die auf einem 32-Bit-Windows-System ausgeführt wird. Die Ole 16-Bit-in-32-Bit-Interoperabilitätsebene (und 32-Bit bis 16-Bit) übersetzt den BSTR und beschädigt die Binärdaten. Die bevorzugte Methode zum Übergeben von Binärdaten ist die Verwendung eines SAFEARRAY-VT_UI1, der nicht von OLE übersetzt wird.

Wenn psz null ist, wird eine Zeichenfolge der angeforderten Länge zugeordnet, aber nicht initialisiert. Die Zeichenfolge psz kann eingebettete NULL-Zeichen enthalten und muss nicht mit null enden. Geben Sie die zurückgegebene Zeichenfolge später mit SysFreeString frei.

Requirements (Anforderungen)

   
Zielplattform Windows
Kopfzeile oleauto.h
Bibliothek OleAut32.lib
DLL OleAut32.dll

Weitere Informationen

Zeichenfolgenbearbeitungsfunktionen