There is a comprehensive example, in the form of VSHADOW.exe which is a sample VSS Requestor provided as part of the SDK.
The license agreement includes this:
Sample Code. You may modify, copy, and distribute the source and object code form of code marked as “sample.”
You may be able to adapt VSHADOW to do what you want, however the simplest way is to use VSHADOW.exe as is.
You can use VSHADOW to create the shadow copy, mount it on a symbolic link or drive letter, do whatever it was you wanted, then destroy the shadow copy volume and symlink.
To be clear, you are not supposed to back up the frozen files during the freeze action, you are supposed to create a shadow copy of the frozen files, so they can be unfrozen quickly, and then back up the shadow copy.
VSHADOW will freeze, create a shadow copy, unfreeze (taking only a few seconds in all), then mount the shadow copy on a drive letter, call an external program - your backup program, which can then back up the shadow copy of the exchange database - then delete the shadow copy. The shadow copy will not change, and can be backed up without causing sharing conflicts.