Condividi tramite


Funzione SysAllocStringByteLen (oleauto.h)

Accetta una stringa ANSI come input e restituisce un valore BSTR che contiene una stringa ANSI. Non esegue alcuna conversione DA ANSI a Unicode.

Sintassi

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

Parametri

[in, optional] psz

Stringa da copiare o NULL per mantenere la stringa non inizializzata.

[in] len

Il numero di byte da copiare. Successivamente viene inserito un carattere Null, allocando un totale di len più la dimensione dei byte OLECHAR .

Valore restituito

Copia della stringa o NULL se la memoria non è sufficiente per completare l'operazione.

Commenti

Questa funzione viene fornita per creare route BSTR contenenti dati binari. È possibile usare questo tipo di BSTR solo in situazioni in cui non verrà convertito da ANSI a Unicode o viceversa.

Ad esempio, non usare queste route BSTR tra un'applicazione a 16 bit e un'applicazione a 32 bit in esecuzione in un sistema Windows a 32 bit. Il livello di interoperabilità DA OLE a 16 bit a 32 bit (e da 32 bit a 16 bit) trasla il BSTR e danneggia i dati binari. Il metodo preferito per il passaggio di dati binari consiste nell'usare un SAFEARRAY di VT_UI1, che non verrà convertito da OLE.

Se psz è Null, viene allocata una stringa della lunghezza richiesta, ma non inizializzata. La stringa psz può contenere caratteri Null incorporati e non deve terminare con un valore Null. Liberare la stringa restituita in un secondo momento con SysFreeString.

Requisiti

   
Piattaforma di destinazione Windows
Intestazione oleauto.h
Libreria OleAut32.lib
DLL OleAut32.dll

Vedi anche

Funzioni di manipolazione delle stringhe