C++调用VSS API进行快照

  • VSS SDK下载
  • C++工程搭建
  • 示例代码
  • 运行结果

VSS SDK下载

官网链接 :https://www.microsoft.com/en-us/download/details.aspx?id=23490
备用链接:https://download.csdn.net/download/qq_39107008/86268823

C++工程搭建

  1. 解压VSS SDK
    运行setup.exe,解压到任意路径,如下图
    2. 工程环境搭建
    初始化c++项目完成后,引用VSS SDK,配置如下:
    进入 项目-》属性-》VC++目录(静态链接)
    本地vss解压目录下的inc目录填写到外部包含目录(头文件)
    本地vss解压目录下的lib目录填写到源目录(静态编译出的lib文件),这里需要根据运行的机器型号进行目录选择(x86/x64)
    配置依赖项
    项目-》属性-》链接器-》输入-》附加依赖项(vssapi.lib)
    ![在这里插入图片描述](https://img-blog.csdnimg.cn/3d3ea10f51834593abb59b14431d21a0.png

示例代码

参考:
参考微软文档
vss sdk解压目录中的TestApps\betest项目借鉴

别人链接代码(应该是有问题): http://cn.voidcc.com/question/p-tymlbrfv-bc.html

#include <stdio.h>
#include <windows.h>
#include <winbase.h>
#include <iostream>
#include <Vss.h>
#include <VsWriter.h>
#include <VsBackup.h> using namespace std;int main()
{//定义需要快照卷WCHAR wszVolumes[2048] = L"F:\\";bool bCoInitializeSucceeded = false;try{HRESULT hr = S_OK;CoInitializeEx(NULL, COINIT_MULTITHREADED);// Initialize COM securityCoInitializeSecurity(NULL,                                //  IN PSECURITY_DESCRIPTOR         pSecDesc,-1,                                  //  IN LONG                         cAuthSvc,NULL,                                //  IN SOLE_AUTHENTICATION_SERVICE *asAuthSvc,NULL,                                //  IN void                        *pReserved1,RPC_C_AUTHN_LEVEL_CONNECT,           //  IN DWORD                        dwAuthnLevel,RPC_C_IMP_LEVEL_IMPERSONATE,         //  IN DWORD                        dwImpLevel,NULL,                                //  IN void                        *pAuthList,EOAC_NONE,                           //  IN DWORD                        dwCapabilities,NULL                                 //  IN void                        *pReserved3);bCoInitializeSucceeded = true;IVssAsync* pAsync;IVssBackupComponents* pvbc;CreateVssBackupComponents(&pvbc);pvbc->InitializeForBackup();pvbc->SetBackupState(true, false, VSS_BT_FULL, true);pvbc->GatherWriterMetadata(&pAsync);  VSS_ID idSet, idSnap;pvbc->StartSnapshotSet(&idSet);pvbc->AddToSnapshotSet(wszVolumes, GUID_NULL, &idSnap);pvbc->PrepareForBackup(&pAsync);HRESULT hrResult;INT nPercentDone = 0;pvbc->DoSnapshotSet(&pAsync);pAsync->Wait();pAsync->QueryStatus(&hrResult, &nPercentDone);return 0;}catch (HRESULT hrParse){return -1;}
}

运行结果

C++调用VSS API进行快照相关推荐

  1. python 图表_Python入门学习系列——使用Python调用Web API实现图表统计

    使用Python调用Web API实现图表统计 Web API:Web应用编程接口,用于URL请求特定信息的程序交互,请求的数据大多以非常易于处理的格式返回,比如JSON或CSV等. 本文将使用Pyt ...

  2. C#中调用Windows API时的数据类型对应关系

    C#中调用Windows API时的数据类型对应关系 原文 C#中调用Windows API时的数据类型对应关系 BOOL=System.Int32 BOOLEAN=System.Int32 BYTE ...

  3. C#调用windows api的要点

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  4. C#中调用Windows API的要点

    在.Net Framework SDK文档中,关于调用Windows API的指示比较零散,并且其中稍全面一点的是针对Visual Basic .net讲述的.本文将C#中调用API的要点汇集如下,希 ...

  5. ASP.NET MVC4中调用WEB API的四个方法

    当今的软件开发中,设计软件的服务并将其通过网络对外发布,让各种客户端去使用服务已经是十分普遍的做法.就.NET而言,目前提供了Remoting,WebService和WCF服务,这都能开发出功能十分强 ...

  6. python aipspeech_Python调用百度API实现语音识别(二)

    咪哥杂谈 本篇阅读时间约为 5 分钟. 1 前言 上一篇文章里,大致介绍了百度官方 api 的一些前置准备工作. 想回顾的同学,可以看完本篇在下面找到历史链接. 今天就来上手实战编码,体验一下代码实现 ...

  7. 记一次通过c#运用GraphQL调用Github api

    一.Graphql是什么 最近在折腾使用Github api做个微信小程序练练手,本篇文章就是在这个过程中记录. 直接先看下GraphQL的语法风格,感受一下: query {repository(o ...

  8. 用C#调用Windows API向指定窗口发送按键消息

    为什么80%的码农都做不了架构师?>>>    用C#调用Windows API向指定窗口发送 一.调用Windows API. C#下调用Windows API方法如下: 1.引入 ...

  9. python调用zabbix api接口实时展示数据

    近日公司准备自已做一个运维管理平台,其中的监控部分,打算调用zabbix api接口来进行展示. 经过思考之后,计划获取如下内容: 1.  获得认证密钥 2.  获取zabbix所有的主机组 3.  ...

  10. MSIL 教程(二):数组、分支、循环、使用不安全代码和如何调用Win32 API(转)...

    转自:http://www.cnblogs.com/Yahong111/archive/2007/08/16/857574.html 续上文[翻译]MSIL 教程(一) ,本文继续讲解数组.分支.循环 ...

最新文章

  1. Linux QtCreator 设置mingw编译器生成windows程序
  2. SQL Server 2005 数据库邮件 使用要点
  3. 非华为手机可以鸿蒙,【图片】华为鸿蒙系统的厉害之处在于 你可能非用不可 !【手机吧】_百度贴吧...
  4. json过滤特殊字符
  5. 机房维护 网拷_机房维护一二三
  6. 概率论-4.2 中心极限定理
  7. lombok null字段不显示 继承_Lombok 要知道的 8 个点
  8. NanShan企业即时通讯开始写博客
  9. [转载] python字典类方法
  10. python colorama_Python常用模块—— Colorama模块
  11. 【第二章】 IoC 之 2.2 IoC 容器基本原理 ——跟我学Spring3
  12. BurpSuite Pro 2021.2 最新版本
  13. 免费下载百度文库需下载券文件
  14. ffmpeg之H265解码
  15. 阿里巴巴的安全能力究竟是什么水平?
  16. 【5G RRU专题】什么是PA非线性失真?
  17. C++语言程序设计(郑莉)02 C++基本数据类型和表达式
  18. 花窗图案c语言设计,4款中式仿古花窗图案隔断设计图 中式传统古建筑园林木门花窗艺术文化图片...
  19. 1024人工智能和大数据应用高峰论坛
  20. TI杯基于FDC2214的手势识别设计(黑龙江省赛)

热门文章

  1. js将图片url转化为Base64
  2. 小米盒子 android 动画特效,小米安卓电视一个屏保动画效果
  3. java学科竞赛管理系统_《高校学科竞赛管理系统的web前端设计与实现》文献阅读随笔...
  4. 模拟器:思科 创建Vlan,给2层交换机和3层交换机配置IP地址和子网掩码
  5. Java Web 后端技术可视化
  6. 汉字笔顺动画C端实现B端原理 - [大力智能 前端]
  7. WGS84经纬度坐标转化成UTM坐标
  8. FANUC机器人_KAREL编程入门(2)_通用IO信号的使用方法
  9. Linux下安装wechat
  10. 2019年成都房产新政,有这些内容需注意