VSS can be created both using WMI and using COM in windows environment.
However, when using COM, we can get many benefits that we simply don't get when using WMI:
- Run as a 'Backup Operator' Privileges (And not requiring administrator). This is better for the least-privileges principle, and makes far more sense for a backup utility security context.
- Control whenever we want VSS writers to run (Sadly, WMI does not expose this functionality). This is an important aspect that allows supported context such as Registry writers, or Hyper-V writers, to make sure the backup that is created is done in a consistent state.
Microsoft have a great sample on how to use the COM interface in C++ here:
https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/VShadowVolumeShadowCopy/README.md
VSS can be created both using WMI and using COM in windows environment.
However, when using COM, we can get many benefits that we simply don't get when using WMI:
Microsoft have a great sample on how to use the COM interface in C++ here:
https://github.com/microsoft/Windows-classic-samples/blob/main/Samples/VShadowVolumeShadowCopy/README.md