Ну, ссылка, приведенная в принятом ответе на этот вопрос, относится к статье Эрика Липперта, Eric's Complete Guide To BSTR Semantics. Хотя это определенно не быть официальной документацией, Lippert - это хорошо известный авторитет на COM (особенно в сценарии).
Однако the official documentation это сказать:
BSTR без каких-либо элементов данных либо пустой BSTR или NULL BSTR. Пустой BSTR указывает текущее, но нулевое значение данных. NULL BSTR указывает значение данных, которого нет.
Таким образом, официально они оба BSTR
s без каких-либо элементов данных, но с несколько другой семантикой (хотя нет ничего, чтобы сказать, что эти 2 случая должны быть обработаны по-разному в вашем приложении). В этом случае я, конечно же, буду следовать рекомендациям Липперта относиться к ним одинаково. Для меня его реальный опыт работы с фактическими реализационными работами имеет больше веса, чем одно предложение в официальном документе BSTR.
Я не был архитектором VBScript, де-юре или де-факто; Я был разработчиком команды сценариев и реализовал множество функций в VBScript, но я, конечно, не был на уровне архитекторов. –
Эрик - я удалил этот бит. Извините за ошибку (надеюсь, вы примете это как комплимент). –