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 |