Compartir a través de


Función SysAllocStringByteLen (oleauto.h)

Toma una cadena ANSI como entrada y devuelve un BSTR que contiene una cadena ANSI. No realiza ninguna traducción ANSI a Unicode.

Sintaxis

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

Parámetros

[in, optional] psz

Cadena que se va a copiar o NULL para mantener la cadena sin inicializar.

[in] len

Número de bytes que se van a copiar. Un carácter NULL se coloca después, asignando un total de len más el tamaño de bytes OLECHAR .

Valor devuelto

Una copia de la cadena o NULL si no hay memoria suficiente para completar la operación.

Comentarios

Esta función se proporciona para crear BSTR que contengan datos binarios. Puede usar este tipo de BSTR solo en situaciones en las que no se traducirá de ANSI a Unicode, o viceversa.

Por ejemplo, no use estas BSTR entre una aplicación de 16 bits y una aplicación de 32 bits que se ejecuta en un sistema Windows de 32 bits. La capa de interoperabilidad OLE de 16 bits a 32 bits (y de 32 bits a 16 bits) traducirá el BSTR y dañará los datos binarios. El método preferido para pasar datos binarios es usar una SAFEARRAY de VT_UI1, que OLE no traducirá.

Si psz es Null, se asigna una cadena de la longitud solicitada, pero no se inicializa. La cadena psz puede contener caracteres NULL incrustados y no necesita terminar con un valor Null. Libere la cadena devuelta más adelante con SysFreeString.

Requisitos

   
Plataforma de destino Windows
Encabezado oleauto.h
Library OleAut32.lib
Archivo DLL OleAut32.dll

Consulte también

Funciones de manipulación de cadenas