リムーバブルデバイスへのアクセス – プログラミング – Home

リムーバブルデバイスへのアクセス
 
通知
すべてクリア

リムーバブルデバイスへのアクセス


爽聞茶
 爽聞茶
(@爽聞茶)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

はじめまして。
VC++からVC#へ乗り換え中の爽聞茶と申します。

開発環境は
Windows2000 SP3
VisualStudio.net Enterprise Developer MSDN Deluxe Edition
です。

NT系OSで、C++の場合、
例えばE:\に接続されているドライブへのアクセスは、
m_hDrive = CreateFile(\\\\.\\E:\,
GENERIC_WRITE | GENERIC_READ,
FILE_SHARE_READ | FILE_SHARE_WRITE,
NULL,
OPEN_EXISTING,
NULL,
NULL);
でハンドルを取得して、このハンドルを用いて
DeviceIoControlやReadFile、WriteFileなどを実行できましたが、
C#ではこのような操作(ドライブへのなんらかの操作)を行うには、
どのような方法があるのでしょうか?

ヘルプで検索した結果、
unsafeコンテキストを使用してReadFileを使用する方法は見つけたのですが、
安全ではないなどと書いてあり、この方法を使用するには少々不安があります。

安全に同じような動作が出来る方法をご存知の方が居られましたらご教授ください。
よろしくお願いいたします。


引用解決済
トピックタグ
a
 a
(@a)
ゲスト
結合: 23年前
投稿: 59
 

APIを使はないで、
System.IO.Fileとかを使えばいいのでは??


返信引用
爽聞茶
 爽聞茶
(@爽聞茶)
ゲスト
結合: 22年前
投稿: 2
Topic starter  

aさん、返答ありがとうございました。

ReadFile、WriteFileはSystem.IO.Fileの使用でいけそうです。
ありがとうございました。

その上で質問なのですが、ファイルへのアクセスとは別に、
「任意のコマンド(SCSIコマンドとかUSBコマンドのような)を送る」
という事もやりたいと思っています。
(例えばINQUIRYコマンドを送る、など)
C++で、NT系OSの場合ですとSPTI、98系OSの場合ですとASPIを使用する
というイメージなのですが、
C#で同様な操作を行うにはどのような方法があるのでしょうか。
ご存知の方、よろしくお願いいたします。


返信引用

返信する

投稿者名

投稿者メールアドレス

タイトル *

プレビュー 0リビジョン 保存しました
共有:
タイトルとURLをコピーしました