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 |