Как .NET COM Callable Wrapper создает IID?

Просмотр сгенерированного файла TLB, созданного CCW, хотя средство просмотра объектов OLE / COM показывает, что IID остается постоянным, если я не изменю дизайн интерфейса (что является правильным поведением), меня беспокоит то, что если я скомпилирую этот же код на другой машине, будет сгенерирован совершенно другой IID, несмотря на то, что интерфейс не изменится и, следовательно, сломает существующие COM-клиенты.

  1. Как работает COM ID интерфейсов, сгенерированные COM Callable Wrapper?
  2. Как CCW узнает, изменился ли интерфейс и ему необходимо сгенерировать новый IID?
  3. Будет ли безопаснее просто сгенерировать свой собственный и объявить в исходном файле?
8
задан TownCube 3 July 2011 в 15:20
поделиться