Partager via


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

Voir aussi

Fonctions de manipulation de chaîne