stdole2.tlb
является более новой версией stdole32.tlb
.Это видно из IDL, экспортированного с использованием OleView:
From stdole2.tlb :
// typelib filename: stdole2.tlb
[
uuid(00020430-0000-0000-C000-000000000046),
version(2.0),
helpstring("OLE Automation")
]
library stdole
{
...
From stdole32.tlb :
// typelib filename: stdole32.tlb
[
uuid(00020430-0000-0000-C000-000000000046),
version(1.0),
helpstring("OLE Automation")
]
library stdole
{
...
Это подтверждается тем, что они оба имеют одинаковый uuid
, но stdole2
имеет более поздний атрибут version
.
Более того, если вы сравните IDL для них обоих, выможно увидеть, как более новый отличается от первого.В основном это добавляет некоторые атрибуты к нескольким интерфейсам, а также добавляет кучу новых typedef, интерфейсов и т. Д. (Слишком долго, чтобы добавить сюда и не нужно для ответа на вопрос).
Любопытно, что в отличие от DLL тамотсутствуют атрибуты файла (вкладка «Сведения» в представлении «Свойства» в проводнике Windows) с версией или другой информацией.