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 |