根据https://docs.microsoft.com/en-us/windows/desktop/api/vsbackup/nl-vsbackup-ivssexaminewritermetadata:
IVssExamineWriterMetadata 接口是一个C++(不是 COM)接口,允许请求者检查特定写入器实例的元数据。此元数据可能来自当前正在执行的(实时)编写器,或者它可能已存储为 XML 文档。
我看到的所有代码都将其视为 COM 接口。
- https://github.com/Microsoft/Windows-classic-samples/blob/master/Samples/VShadowVolumeShadowCopy/cpp/writer.cpp#L108
- https://github.com/GoogleCloudPlatform/compute-image-windows/blob/master/third_party/vss/GoogleVssAgent/writer.cpp#L48
这个定义对我来说就像 COM。
https://github.com/candera/hobocopy/blob/master/inc/winxp/vsbackup.h#L91
这里有什么区别?它是否以某种记录方式违反了 COM 接口设计规则?