DeviceIoControl( )需要include其他檔案或者調整哪裡嗎? |
答題得分者是:dllee
|
Just4U
初階會員 發表:38 回覆:56 積分:28 註冊:2002-03-27 發送簡訊給我 |
HANDLE hDevice;
BOOL r;
DWORD junk;
DISK_GEOMETRY pdg; r = DeviceIoControl(
hDevice,
IOCTL_DISK_GET_DRIVE_GEOMETRY,
NULL,
0,
pdg,
sizeof(*pdg),
&junk,
(LPOVERLAPPED) NULL); 錯誤訊息顯示如下
2451 Undefined symbol 'DISK_GEOMETRY'
2451 Undefined symbol 'IOCTL_DISK_GET_DRIVE_GEOMETRY' 我的環境如下
Windows XP
AMD 700MHz
Borland C Builder 5 Professional 請問我需要include其他檔案或者調整哪裡嗎?
|
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
#include沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
RaynorPao
版主 發表:139 回覆:3622 積分:7025 註冊:2002-08-12 發送簡訊給我 |
引言: HANDLE hDevice; BOOL r; DWORD junk; DISK_GEOMETRY pdg; r = DeviceIoControl( hDevice, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, pdg, sizeof(*pdg), &junk, (LPOVERLAPPED) NULL); 錯誤訊息顯示如下 2451 Undefined symbol 'DISK_GEOMETRY' 2451 Undefined symbol 'IOCTL_DISK_GET_DRIVE_GEOMETRY' 我的環境如下 Windows XP AMD 700MHz Borland C Builder 5 Professional 請問我需要include其他檔案或者調整哪裡嗎?Just4U 你好: 試試看把你的程式碼改成以下這樣子 < class="code"> #include "Winioctl.h" HANDLE hDevice; BOOL r; DWORD junk; DISK_GEOMETRY pdg; r=DeviceIoControl(hDevice, IOCTL_DISK_GET_DRIVE_GEOMETRY, NULL, 0, &pdg, sizeof(pdg), &junk, (LPOVERLAPPED) NULL); -- Enjoy Researching & Developing --
------
-- 若您已經得到滿意的答覆,請適時結案!! -- -- 欲知前世因,今生受者是;欲知來世果,今生做者是 -- -- 一切有為法,如夢幻泡影,如露亦如電,應作如是觀 -- |
Just4U
初階會員 發表:38 回覆:56 積分:28 註冊:2002-03-27 發送簡訊給我 |
引言:謝謝!!! 加入 #include "Winioctl.h" 就可以了 再請教一下, 現在換成 IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO HANDLE h BOOL r; r = DeviceIoControl(h, IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO, .....); 由MSDN得知IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO 需要include parallel.h ,所以我在project的include path加入 C:\WINDDK\2600\inc\wxp C:\WINDDK\2600\inc\ddk\wxp compile時, 在 parallel.h 中 typedef struct _PARPORT_REMOVAL_RELATIONS { PDEVICE_OBJECT DeviceObject; <--- E2303 Type name expected ULONG Flags; PUNICODE_STRING DeviceName; } PARPORT_REMOVAL_RELATIONS, *PPARPORT_REMOVAL_RELATIONS; 其中 PDEVICE_OBJECT DeviceObject; 這一行有錯誤訊息 E2303 Type name expected 是這種資料型態BCB5不能用嗎? 還是BCB5不能使用 IOCTL_INTERNAL_GET_PARALLEL_PORT_INFO 呢? (在BCB5的Help沒有此相關敘述)#include沒空更新的網頁... http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell.... |
dllee
站務副站長 發表:321 回覆:2519 積分:1711 註冊:2002-04-15 發送簡訊給我 |
您問的問題已進入 DDK ,這個部分 BCB 並沒有直接支援,所以手冊上完全沒有。
如果依您描述,您已裝了 DDK ,並 include parallel.h 但其中的 PDEVICE_OBJECT 出現 Type name expected 的錯誤,表示還有檔案需要 include ,至於是那個檔呢?因為我沒有裝 ddk 所以我不會知道...
建議您直接以 PDEVICE_OBJECT 到 DDK 的目錄去查,看是那個檔有它的定義,再 include 它(假設叫 abc.h)即可。同樣的道理,當您 include abc.h 後,可能在 abc.h 內又有其他的變數名稱未定義,此時,就再找一次吧。
沒辨法囉,您所用的函式一般人比較少用,所以必需自已 include 來 include 去,對於常用的函式,幾乎 BCB 就自動幫我們 include 了。 沒空更新的網頁...
http://dllee.ktop.com.tw C及指標教學,計算機概論,資訊管理導論... http://dllee.adsldns.org 介紹Shells,LiteStep,GeoShell....
------
http://www.ViewMove.com |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |