線上訂房服務-台灣趴趴狗聯合訂房中心
發文 回覆 瀏覽次數:2315
推到 Plurk!
推到 Facebook!

如何製作虛擬硬碟??

尚未結案
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#1 引用回覆 回覆 發表時間:2005-08-18 20:11:23 IP:61.216.xxx.xxx 未訂閱
小弟我的作業系統是XP, 想切割出一塊磁碟空間對應到C槽的某個目錄或檔案底下 再搜尋MSDN之後只有看到2003以上的作業系統才有api可呼叫 (還是說我沒找的很仔細?)... 此做法有點類似虛擬光碟,但我希望可以作寫入的動作.. 希望各位大哥大姐提供相關資訊 謝謝~
yhchu
一般會員


發表:2
回覆:70
積分:24
註冊:2004-01-28

發送簡訊給我
#2 引用回覆 回覆 發表時間:2005-08-19 10:37:42 IP:220.130.xxx.xxx 未訂閱
這個是你要找的嗎?Windows 2000 NTFS 就可以用了。 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/volume_mount_point_functions.asp
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#3 引用回覆 回覆 發表時間:2005-08-19 16:24:31 IP:59.120.xxx.xxx 未訂閱
引言: 這個是你要找的嗎?Windows 2000 NTFS 就可以用了。 http://msdn.microsoft.com/library/default.asp?url=/library/en-us/fileio/fs/volume_mount_point_functions.asp
感謝這位大哥,剛好我再今早也找到我要的API DefineDosDevice()用此函式可以create一個虛擬磁碟對應到某個資料夾 但我希望能將虛擬磁碟對應到檔案,不知道有何方法可達成,希望各位大大能多幫忙,謝謝~~
algo
一般會員


發表:4
回覆:21
積分:10
註冊:2003-04-15

發送簡訊給我
#4 引用回覆 回覆 發表時間:2005-08-19 18:18:40 IP:59.120.xxx.xxx 未訂閱
這方面使用一般的Windows SDK並無法做到... 如果您有興趣建議您參考: http://www.insidewindows.info/ 基本上需要透過簡單的Driver來mount一個file 變成disk,所以您也需要有一些DDK和ASM的相關 基礎,在下之前有實做並將FileDisk加上En/Decrypt 功能,一點點心得提供您做參考! ???
------
???
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#5 引用回覆 回覆 發表時間:2005-08-19 20:04:57 IP:59.115.xxx.xxx 未訂閱
引言: 這方面使用一般的Windows SDK並無法做到... 如果您有興趣建議您參考: http://www.insidewindows.info/ 基本上需要透過簡單的Driver來mount一個file 變成disk,所以您也需要有一些DDK和ASM的相關 基礎,在下之前有實做並將FileDisk加上En/Decrypt 功能,一點點心得提供您做參考! ???
非常感謝各位大大替小弟解決困擾 原來這裡有相關討論 http://delphi.ktop.com.tw/topic.php?TOPIC_ID=63654 我會努力的去研究,謝謝各位~
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#6 引用回覆 回覆 發表時間:2005-08-20 20:01:01 IP:59.115.xxx.xxx 未訂閱
引言: 這方面使用一般的Windows SDK並無法做到... 如果您有興趣建議您參考: http://www.insidewindows.info/ 基本上需要透過簡單的Driver來mount一個file 變成disk,所以您也需要有一些DDK和ASM的相關 基礎,在下之前有實做並將FileDisk加上En/Decrypt 功能,一點點心得提供您做參考! ???
不好意思請問一下我是否得安裝DDK之後才能使用,因為在src的filedisk.c好像需要include ddk的.h檔,如果我沒安裝是否沒辦法compile??第二個問題是如果我要開發自己的專案是否只需要src的.c和inc的.h就可以使用所有的函式?
algo
一般會員


發表:4
回覆:21
積分:10
註冊:2003-04-15

發送簡訊給我
#7 引用回覆 回覆 發表時間:2005-08-22 15:10:25 IP:59.120.xxx.xxx 未訂閱
引言: 不好意思請問一下我是否得安裝DDK之後才能使用,因為在src的filedisk.c好像需要include ddk的.h檔,如果我沒安裝是否沒辦法compile??第二個問題是如果我要開發自己的專案是否只需要src的.c和inc的.h就可以使用所有的函式?
使用DDK必須搭配VC6/.Net2003,且大部分driver編譯採用MakeFile來做 較為方便,一方面用不太到IDE環境,另外一方面許多命令需要使用command line環境... 建議您找本DDK入門的書翻翻,最少瞭解一下整個開發環境,否則在下說的 再多恐怕也是鴨子聽雷而已^^;;; 一點點建議供您參考! ???
------
???
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#8 引用回覆 回覆 發表時間:2005-08-22 20:38:50 IP:61.216.xxx.xxx 未訂閱
引言:
引言: 不好意思請問一下我是否得安裝DDK之後才能使用,因為在src的filedisk.c好像需要include ddk的.h檔,如果我沒安裝是否沒辦法compile??第二個問題是如果我要開發自己的專案是否只需要src的.c和inc的.h就可以使用所有的函式?
使用DDK必須搭配VC6/.Net2003,且大部分driver編譯採用MakeFile來做 較為方便,一方面用不太到IDE環境,另外一方面許多命令需要使用command line環境... 建議您找本DDK入門的書翻翻,最少瞭解一下整個開發環境,否則在下說的 再多恐怕也是鴨子聽雷而已^^;;; 一點點建議供您參考! ??? < face="Verdana, Arial, Helvetica"> 嗯嗯感謝大大~~在您發文之前我稍微把那網址所附的檔案內容搞懂了 如果只是需要Mount一個Device(Drive)的話,只需要修改exe資料夾底下的.c檔 然後將他所附的.sys檔copy至系統下,再將reg檔加入即可, 如果要重新修改符合自己適合的driver, 則必須把sys資料夾底下的檔案利用command line下參數重新編譯.sys才行..
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#9 引用回覆 回覆 發表時間:2005-08-25 00:37:23 IP:59.115.xxx.xxx 未訂閱
引言:
引言: 不好意思請問一下我是否得安裝DDK之後才能使用,因為在src的filedisk.c好像需要include ddk的.h檔,如果我沒安裝是否沒辦法compile??第二個問題是如果我要開發自己的專案是否只需要src的.c和inc的.h就可以使用所有的函式?
使用DDK必須搭配VC6/.Net2003,且大部分driver編譯採用MakeFile來做 較為方便,一方面用不太到IDE環境,另外一方面許多命令需要使用command line環境... 建議您找本DDK入門的書翻翻,最少瞭解一下整個開發環境,否則在下說的 再多恐怕也是鴨子聽雷而已^^;;; 一點點建議供您參考! ??? < face="Verdana, Arial, Helvetica"> 這位大大不好意思再請教幾個問題,不知您是否有針對此檔案修改成格式化的部分,我想要達到自動格式化用了DeviceIoControl(,,,,,,,)其中我傳入了IOCTL_DISK_FORMAT_TRACKS參數代表我要格式化我的虛擬磁碟,可是都出現錯誤的訊息,經過研究之後懷疑是否是因為我的硬碟格式是filedisk的關係,無法用一搬的方法傳入IOCTL_DISK_GET_DRIVE_GEOMETRY參數取得磁碟相關資料,進而無法達到格式化的目的,大大有提過您以前作過加解密filedisk,再加解密之前應該也會做到格式化的動作,不知您是否可以給小弟幾個方向呢??謝謝~~
algo
一般會員


發表:4
回覆:21
積分:10
註冊:2003-04-15

發送簡訊給我
#10 引用回覆 回覆 發表時間:2005-09-01 20:58:24 IP:211.74.xxx.xxx 未訂閱
引言: 這位大大不好意思再請教幾個問題,不知您是否有針對此檔案修改成格式化的部分,我想要達到自動格式化用了DeviceIoControl(,,,,,,,)其中我傳入了IOCTL_DISK_FORMAT_TRACKS參數代表我要格式化我的虛擬磁碟,可是都出現錯誤的訊息,經過研究之後懷疑是否是因為我的硬碟格式是filedisk的關係,無法用一搬的方法傳入IOCTL_DISK_GET_DRIVE_GEOMETRY參數取得磁碟相關資料,進而無法達到格式化的目的,大大有提過您以前作過加解密filedisk,再加解密之前應該也會做到格式化的動作,不知您是否可以給小弟幾個方向呢??謝謝~~
在下認為不需要也不能使用DeviceIoControl來做Format,建議您可以使用 ShellExecute()這類的Windows API直接使用Windows內建的format.com程式 做快速格式化,因為format速度非常快所以可以在mount之後做... 至於如何判斷disk沒有被format過,在下認為會比您去找出DeviceIoControl 的作法簡單許多,一點點看法供您參考:) PS:您也可以找到使用format的程式來使用,印象中有許多open source的 程式提供這樣的功能。 ???
------
???
quard0314
一般會員


發表:10
回覆:18
積分:5
註冊:2003-03-05

發送簡訊給我
#11 引用回覆 回覆 發表時間:2005-09-02 10:51:35 IP:59.120.xxx.xxx 未訂閱
引言:
引言: 這位大大不好意思再請教幾個問題,不知您是否有針對此檔案修改成格式化的部分,我想要達到自動格式化用了DeviceIoControl(,,,,,,,)其中我傳入了IOCTL_DISK_FORMAT_TRACKS參數代表我要格式化我的虛擬磁碟,可是都出現錯誤的訊息,經過研究之後懷疑是否是因為我的硬碟格式是filedisk的關係,無法用一搬的方法傳入IOCTL_DISK_GET_DRIVE_GEOMETRY參數取得磁碟相關資料,進而無法達到格式化的目的,大大有提過您以前作過加解密filedisk,再加解密之前應該也會做到格式化的動作,不知您是否可以給小弟幾個方向呢??謝謝~~
在下認為不需要也不能使用DeviceIoControl來做Format,建議您可以使用 ShellExecute()這類的Windows API直接使用Windows內建的format.com程式 做快速格式化,因為format速度非常快所以可以在mount之後做... 至於如何判斷disk沒有被format過,在下認為會比您去找出DeviceIoControl 的作法簡單許多,一點點看法供您參考:) PS:您也可以找到使用format的程式來使用,印象中有許多open source的 程式提供這樣的功能。 ???
感謝大大的提供,目前我用了SHFormatDrive,但是此API呼叫系統的dialog,無法在沒有dialog的情況下直接格式化,不過我會再去找找,謝謝~~
系統時間:2024-04-24 3:49:10
聯絡我們 | Delphi K.Top討論版
本站聲明
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。
2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。
3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇!