パラレルポートにアクセスするウィンドウXPで『Turbo Cを使用して

A

ankur_c

Guest
親愛なるメンバーは、
私はいくつかのI / Oアプリケーション用にPCのLPTポートを使用して、私のアプリケーションがうまく機能¥しようとして午前の窓98の環境ですが、しかし
、 私はXPへのアクセスポートに、私sevelalしようとして許可していないがXPで使用するオプションは、Webで使用可能¥な1つのオプションは
、 次のコードを使用していますが
、 動作しませんでした。

#含まれて<stdio.h>
#含まれて<conio.h>

メイン(無効)int(
符号なしポート= 0x378のパラレルポート0x378の/ /最初のピン0x37f
int型の値;
値= outp(ポート'、'c')と/ / cのLPTポートに送信されます数です
printfの("値%はCポート%d ¥¥ N"の値は、ポートに送信されます);
戻り0)

だからinpout32.dllを使って試みているが
、 そのとき私は『Turbo C 3.0.Iでコンパイルするいくつかのエラーを与えるも満たしてテストアプリケーションlogix4u.netで与えているが
、 それは同じエラーが発生します。
私は、same.can誰のPLを添付しています。この問題の解決に私を助ける。
/************************************************* * /
/ *** *** /
/ *** test.cの-テストインターフェイス*** inpout32.dllに/
/ ***(http://www.logix4u.net/inpout32.htm)*** /
/ *** *** /
/ ***へCOPYRIGHT(C)2003、ダグラスビーティージュニア*** /
/ *** *** /
/ *** <beattidp(at)ieee.org> *** /
/ *** http://www.hytherion.com/beattidp/ *** /
/ *** *** /
/************************************************* * /
/************************************************* ******/
/ * * /
/ *ビルド
、 ボーランドのコマンドラインCコンパイラ*と/
/ *(Borland.comからダウンロード用に公開、*無料/
/ * http://www.borland.com/bcppbuilder/freecompiler)* /
/ * * /
/でコンパイル*:* /
/ * * /
/ * BCC32ベースIC:¥¥ Borlandの¥¥ BCC55 ¥¥ INCLUDEのtest.cの* /
/ * * /
/ * * /
/ *ポートを変更してください*アドレス/
/ *それに応じてあなたのLPTポート*対処されて/
/ *別の場所。* /
/ * * /
/************************************************* ******/
#含まれて<stdio.h>
#含まれて<conio.h>
#include <windows.h>見つけた

inpout32.dllていますビルド:*に/ *の定義/
/ *短い_stdcall呼び出しInp32(PortAddress略); * /
/ *無効_stdcall呼び出しOut32(ショートPortAddress、short型のデータ); * // *プロトタイプ(関数のtypedef)DLLの関数Inp32用:* /

型定義typedef短い_stdcall呼び出し(* inpfuncPtr)(短いportaddr);
型定義typedef無効_stdcall呼び出し(* oupfuncPtr)(短いportaddr、短いデータム);

intメイン(無効)

HINSTANCE hLib;
inpfuncPtr inp32;
oupfuncPtr oup32;

Xの短い;
int私;

/ *ロードライブラリ* /
hLib =はLoadLibrary("inpout32.dll");

(hLib == NULLの)場合、(
printfの("LoadLibraryの失敗する¥¥ n");
リターン-1;

/関数*のアドレスを取得する* /

inp32 =(inpfuncPtr)GetProcAddressを(hLib、"Inp32");

(inp32 == NULLの)場合、(
printfの("GetProcAddressをInp32失敗にする¥¥ n");
リターン-1;

oup32 =(oupfuncPtr)GetProcAddressを(hLib、"Out32");

(oup32 == NULLの)場合、(
printfの("GetProcAddressをOup32失敗にする¥¥ n");
リターン-1;


/************************************************* **************/
/ここで*の機能¥をテスト* /

/読んでみてください* 0x378 .. 0x37Fは、LPT1:* /

のため(私= 0x378;(私は"0x380);私 )(

をX =(inp32)(
 
私はいくつかここでは
、 使用しgiveio.dllこの問題を解決できると聞いた

Googleの詳細については

Nandhu

 
porttalkまたはuserportしようと、友人userportしようとパラレルポートとの良好な結果が得られた。

 
WinXPのDOSのは、アプリケーションから実アドレスへの直接のアクセスがブロックされていません。何があなたのアドレス空間内のポートをマップするためのドライバです。

 

Welcome to EDABoard.com

Sponsor

Back
Top