Fonction SysAllocStringByteLen (oleauto.h)
Prend une chaîne ANSI comme entrée et retourne une chaîne BSTR qui contient une chaîne ANSI. N’effectue aucune traduction ANSI-to-Unicode.
Syntaxe
BSTR SysAllocStringByteLen(
[in, optional] LPCSTR psz,
[in] UINT len
);
Paramètres
[in, optional] psz
Chaîne à copier ou NULL pour conserver la chaîne non initialisée.
[in] len
Nombre d'octets à copier. Un caractère null est placé ensuite, allouant un total de len plus la taille des octets OLECHAR .
Valeur retournée
Copie de la chaîne ou NULL si la mémoire est insuffisante pour terminer l’opération.
Notes
Cette fonction est fournie pour créer des BSTR qui contiennent des données binaires. Vous pouvez utiliser ce type de BSTR uniquement dans les situations où il ne sera pas traduit d’ANSI en Unicode, ou inversement.
Par exemple, n’utilisez pas ces BSTR entre une application 16 bits et une application 32 bits s’exécutant sur un système Windows 32 bits. La couche d’interopérabilité OLE 16 bits vers 32 bits (et 32 bits à 16 bits) traduit le BSTR et endommage les données binaires. La méthode recommandée pour passer des données binaires consiste à utiliser un SAFEARRAY de VT_UI1, qui ne sera pas traduit par OLE.
Si psz a la valeur Null, une chaîne de la longueur demandée est allouée, mais pas initialisée. La chaîne psz peut contenir des caractères null incorporés et n’a pas besoin de se terminer par une valeur Null. Libérez la chaîne retournée ultérieurement avec SysFreeString.
Configuration requise
Plateforme cible | Windows |
En-tête | oleauto.h |
Bibliothèque | OleAut32.lib |
DLL | OleAut32.dll |