No.1ベストアンサー
- 回答日時:
こんばんは。
其れは、DeviceIOControl()APIで行うのではないでしょうか。例えばCD/DVDドライブからシリアル番号等を取るには
#define _WINIOCTL_
#include<windows.h>
#undef _WINIOCTL_
#include<devioctl.h>
#include<ntdddisk.h>
#include<ntddser.h>
#include<ntddmou.h>
int main()
{
//CD/DVDドライブを開く
HANDLE hDrive = CreateFile("\\\\.\\D:", GENERIC_READ|GENERIC_WRITE, FILE_SHARE_READ | FILE_SHARE_WRITE, NULL, OPEN_EXISTING, 0, NULL) ;
if(INVALID_HANDLE_VALUE != hDrive)
{
CHAR buffer[2048];
ULONG returned = 0;
STORAGE_PROPERTY_QUERY spq;
spq.PropertyId = StorageDeviceProperty;
spq.QueryType= PropertyStandardQuery;
BOOL status = ::DeviceIoControl(hDrive, IOCTL_STORAGE_QUERY_PROPERTY, &spq, sizeof(spq), buffer, sizeof(buffer), &returned, 0) ;
if (status)
{
STORAGE_DEVICE_DESCRIPTOR* pSDD = (STORAGE_DEVICE_DESCRIPTOR*)buffer;
//ベンダ名
char* pszVenderId = pSDD->VendorIdOffset? &buffer[pSDD->VendorIdOffset] : NULL;
//ドライブ名
char* pszProductId = pSDD->ProductIdOffset ? &buffer[pSDD->ProductIdOffset] : NULL;
//リビジョン
char* pszRevision = pSDD->ProductRevisionOffset ? &buffer[pSDD->ProductRevisionOffset] : NULL;
//シリアル番号
char* pszSerialNumber = pSDD->SerialNumberOffset ? &buffer[pSDD->SerialNumberOffset] : NULL;
pSDD->
}
}
::CloseHandle(hDrive);
return 0;
}
の様に成ります。バスの番号を取る方法は分かりませんが、上記のDeviceIOControl()APIで出来ると思います(CD/DVD/ブルーレイに焼き付けるのもDeviceIOControl()API)。
また、CD/DVDのリードライトのソフトでソースを公開しているのは「InfraRecorder」や「CDマニュピレータ」と言った所です。
DeviceIOControl()APIを使用する為に「WindowsDDK/WDK」をダウンロードする必要が有ります。
尚、DeviceIOControl()APIは危険な物でもあるので、使用する際には十分に注意した方が良いと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- ドライブ・ストレージ 外付けCDドライブだけ音楽CDが読み込まない 3 2023/08/18 21:28
- USBメモリー・SDカード・フラッシュメモリー cdrへの書き込みで、オーディオcdで書き込むには、 4 2022/09/15 13:10
- スピーカー・コンポ・ステレオ 左の位相が逆になっていたのでしょうか 3 2022/08/01 20:39
- ノートパソコン iTunesで取り込んだ音楽が音飛びします。 2 2022/05/05 21:37
- スピーカー・コンポ・ステレオ デュプリケーターでコピーした特定の音楽CD-Rが古い音楽プレイヤーで再生出来ない 9 2023/04/28 17:38
- Windows 10 explorerをedgeで開く方法 2 2022/06/05 14:59
- その他(ソフトウェア) iTunesでCDを焼きたいのですがプレイリストからディスクを作成時に、サポートされているディスク作 2 2022/03/24 21:32
- ドライブ・ストレージ iMac付属のDVDドライブや外付けのスーパードライブについてご教示下さい。 長時間(2時間程度)の 2 2023/03/10 16:48
- デスクトップパソコン DVDドライブのCD、DVDディスクが認識されません 2 2022/08/22 00:19
- ノートパソコン パソコンのファイル追加履歴について 1 2022/05/07 15:35
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
PDFとかワードとかをCD-Rに...
-
CD音楽再生がおかしい。。。
-
DVDの音源だけをCD焼く方法
-
Power2GOで書き込みできません
-
SDカード、パソコンでの読み込...
-
古いCD-Rが読めません
-
JWCADソフトの基本的考え方につ...
-
今度PS4ソフトのドライバークラ...
-
DVD-Rに焼くのと+Rに焼...
-
CDの取り込みにかかる時間
-
HDDの転送速度をリアルタイム表...
-
Nero StartSmart の使い方について
-
ノートパソコンでCD-Rへの書き...
-
アナログ放送の番組をDVD-Rに書...
-
DVDドライブのスペック確認方法
-
バッファローのブルーレイ外付...
-
TEAC DV-516G
-
レーベルゲート対応のCD-R...
-
「Roxio Easy Media Creator 9...
-
音楽CDをつくりたい!
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
PS4のソフトのパッケージ版のや...
-
CDの取り込みにかかる時間
-
Power2GOで書き込みできません
-
PCのDVDドライブがCPRM対応か確...
-
PDFとかワードとかをCD-Rに...
-
DAEMON Tools Liteが使えなくな...
-
エクセルデータをCDに焼きたい...
-
大至急! このドライブはDVD-R...
-
Imgburnで焼こうとするとエラー...
-
ImgBurnで書き込みができません
-
自由空間でDVDを焼くことは可能...
-
DVD DecrypterでDVDドライブの...
-
古いCD-Rが読めません
-
RealPlayer の動画保存先を変え...
-
B's Clipで書いたDVDがほかのパ...
-
MF2DDのフロッピーディスクを開...
-
700MB以上のCD-Rはある?
-
DVDのリージョンコードを解除で...
-
JWCADソフトの基本的考え方につ...
-
パケットライト方式のため他の...
おすすめ情報