Вопросы к Поиску с Алисой
BSTR в Windows API отличается от обычных C-строк тем, что включает 4-байтовый префикс, который хранится сразу перед самой строкой и представляет её длину в байтах. win32.pub Указатель указывает на первый символ строки данных, а не на префикс длины. win32.pub learn.microsoft.com
BSTR используются в COM, OLE Automation и функциях interop для передачи строк между нативным кодом C++ и управляемым кодом .NET. giodicanio.com Для их выделения и освобождения памяти необходимо использовать специальные функции COM, например SysAllocString и SysFreeString. giodicanio.com stackoverflow.com
В большинстве COM-интерфейсов используются обычные C-строки, для их выделения и управления памятью применяются стандартные методы. win32.pub Однако некоторые COM-API используют тип BSTR, в частности те, что поддерживают интерфейсы с поздней привязкой (часто известные как IDispatch). win32.pub