ホーム
|
アプリケーション | Tips | ダウンロード | プログラム
| コラム

CBアプリ工房


Tips >   

GetVolumeInformation で FDの挿入をチェック 

更新 : 2009/04/04

 



解説:
ルートディレクトリに指定したファイルシステムに関する情報を取得するには、
GetVolumeInformation 関数を使用します。この関数は、指定されたボリュームの名前やボリュームのシリアル番号などが引数に格納されます。要求されたすべての情報を取得できた場合、0 以外の値が返ります。

BOOL GetVolumeInformation(
    LPCTSTR lpRootPathName, // ファイルシステムのルートディレクトリ
    LPTSTR lpVolumeNameBuffer, // ボリューム名を受け取るバッファ
    DWORD nVolumeNameSize, // バッファのサイズ
    LPDWORD lpVolumeSerialNumber, // ボリュームのシリアル番号
    LPDWORD lpMaximumComponentLength, // ファイル名の最大の長さ
    LPDWORD lpFileSystemFlags, // ファイルシステムのオプション
    LPTSTR lpFileSystemNameBuffer, // ファイルシステム名を格納するバッファ
    DWORD nFileSystemNameSize // ファイルシステム名を格納するバッファのサイズ
);

使用例:
以下は、FD が挿入されているかどうかを調べる例です。

準備としては、Button を配置するだけです。

Button をクリックすると FD が挿入されているかどうか調べて、メッセージを返します。
今回 GetVolumeInformation 関数の不要なパラメータは NULL が指定してあります。

//-------------------------------------------------------------------
void __fastcall TForm1::Button1Click(TObject *Sender)
{
    char buf[MAX_PATH];

    if(GetVolumeInformation("A:\\", buf, sizeof(buf), 0, 0, 0, 0, 0))
        ShowMessage("FD は入っています。");
    else
        ShowMessage("FD は入っていません。");
}
//-------------------------------------------------------------------



[ ホーム | ページトップ | ブック | リンク | サイトマップ ]
Copyright(c) 2003 Shibu All rights reserved.