Compartilhar via


Função SysAllocStringByteLen (oleauto.h)

Usa uma cadeia de caracteres ANSI como entrada e retorna um BSTR que contém uma cadeia de caracteres ANSI. Não executa nenhuma tradução ANSI para Unicode.

Sintaxe

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

Parâmetros

[in, optional] psz

A cadeia de caracteres a ser copiada ou NULL para manter a cadeia de caracteres não inicializada.

[in] len

O número de bytes a serem copiados. Um caractere nulo é colocado posteriormente, alocando um total de len mais o tamanho de bytes OLECHAR .

Valor retornado

Uma cópia da cadeia de caracteres ou NULL se não houver memória suficiente para concluir a operação.

Comentários

Essa função é fornecida para criar BSTRs que contêm dados binários. Você pode usar esse tipo de BSTR somente em situações em que ele não será convertido de ANSI para Unicode ou vice-versa.

Por exemplo, não use esses BSTRs entre um aplicativo de 16 bits e um de 32 bits em execução em um sistema Windows de 32 bits. A camada de interoperabilidade OLE de 16 bits a 32 bits (e de 32 bits a 16 bits) traduzirá o BSTR e corromperá os dados binários. O método preferencial de passar dados binários é usar um SAFEARRAY de VT_UI1, que não será convertido pelo OLE.

Se psz for Null, uma cadeia de caracteres do comprimento solicitado será alocada, mas não inicializada. A cadeia de caracteres psz pode conter caracteres nulos inseridos e não precisa terminar com um Null. Libere a cadeia de caracteres retornada mais tarde com SysFreeString.

Requisitos

   
Plataforma de Destino Windows
Cabeçalho oleauto.h
Biblioteca OleAut32.lib
DLL OleAut32.dll

Confira também

Funções de manipulação de cadeia de caracteres