最近在公司遇到磁碟映象盤寫io,getlasterror返回錯誤碼19,磁碟受到介質保護,diskpart檢視了一下磁碟的san策略,發現策略為使共享磁碟離線。現在要支援修改san策略為全部磁碟聯機。
c++**如下:
#include #include #include using namespace std;
int shareddiskoperation(int cmd)
sethandleinformation(hchildstdoutrd, handle_flag_inherit, 0);
if (!createpipe(&hchildstdinrd, &hchildstdinwr, &saattr, 0))
sethandleinformation(hchildstdinwr, handle_flag_inherit, 0);
tchar szcmdline = text("diskpart.exe");
process_information piprocinfo;
startupinfo sistartinfo;
bool bfuncretn = false;
zeromemory(&piprocinfo, sizeof(process_information));
zeromemory(&sistartinfo, sizeof(startupinfo));
sistartinfo.cb = sizeof(startupinfo);
sistartinfo.hstderror = hchildstdoutwr;
sistartinfo.hstdoutput = hchildstdoutwr; //控制台視窗
sistartinfo.hstdinput = hchildstdinrd; //鍵盤
sistartinfo.dwflags |= startf_usestdhandles;
bfuncretn = createprocess(null, szcmdline, null, null, true, 0, null, null, &sistartinfo, &piprocinfo);
if (bfuncretn == 0)
else
dword dwwritten;
if (cmd == 1)//san policy = onlineall
else if (cmd == 2)//san policy = offlineshared
else if (cmd == 3)//san policy = offlineall
else
writefile(hchildstdinwr, "exit", sizeof("exit"), &dwwritten, null);
if (hchildstdinrd != null)
if (hchildstdinwr != null)
if (hchildstdoutwr != null)
if (hchildstdoutrd != null)
return 0;
}int main()
c 實現策略模式
策略模式 strategy 它定義了演算法家族,分別封裝起來,讓他們之間可以互相替換,此模式讓演算法的變化,不會影響到使用演算法的客戶。上面是 大話設計模式 中給出的定義,感覺這個概念給的不好,看了之後不能完全清晰明白該模式 可能自己水平太水的原因吧 在 effective c 中指出,策略模式是v...
策略模式 C 實現
include include include 問題 和工廠模式的本質區別?using namespace std abstract sort class strategy class class super sort virtual void sort int a,int l,int r conc...
C 策略模式實現
策略模式 它定義了演算法家族,分別封裝起來,讓它們之間可以相互替換,此模式讓演算法的變化,不會影響到使用的客戶。strategy.cpp 定義控制台應用程式的入口點。include stdafx.h includeusing namespace std class strategy class co...