En el DISPATCH_MAP, se utiliza el tipo de datos VT_BSTR para especificar un parámetro o valor devuelto de tipo BSTR (Basic String). Esto se debe a que, en la mayoría de los casos, se trabaja con cadenas de caracteres Unicode (16 bits por carácter) en lugar de cadenas ASCII de un solo byte.
Por otro lado, VT_LPSTR es un tipo de datos para una cadena de caracteres de un solo byte (char*) que utiliza el conjunto de caracteres de la página de códigos actual. Si necesitas utilizar VT_LPSTR en el DISPATCH_MAP, deberás convertir la cadena Unicode a una cadena de caracteres de un solo byte utilizando una función de conversión como WideCharToMultiByte. Sin embargo, se recomienda utilizar BSTR en su lugar debido a que tiene un manejo más seguro y eficiente de la memoria.