美文网首页
4.2.3 判断光驱中是否有光盘

4.2.3 判断光驱中是否有光盘

作者: f675b1a02698 | 来源:发表于2017-09-14 16:16 被阅读0次

    #include

    #include

    #include

    #define BUFSIZE 512

    int main(int argc, PCHAR argv[]){

    CHAR szFileSystemNameBuffer[BUFSIZE];//存储文件系统类别名

    DWORD dwLastError;//保存错误编号

    DWORD dwFileSystemFlags;//文件系统标志

    if (argc != 2){

    printf("请输入驱动器的根路径,如: D:\\\n");

    return (-1);

    }

    if (GetDriveType(argv[1]) != DRIVE_CDROM){

    printf("驱动器 %s 不是 CD/DVD\n", argv[1]);

    return (-1);

    }

    //获得卷信息 这里只获取了文件系统名称,如 NTFS

    if (!GetVolumeInformation(

    argv[1],//in 卷的根目录的字符串的指针

    NULL,//out 接收指定卷名称的缓冲区的指针

    0,//in 缓冲区的长度,如果上一参数为空,则忽略此参数

    NULL,//out 指向接收卷序号的变量的指针,如果不需要序列号,此参数可以为NULL

    NULL,//out 用来接收指定文件系统支持的文件名组件的最大长度,值大概是 255

    &dwFileSystemFlags,//out 标志的变量的指针

    szFileSystemNameBuffer,//out 文件系统的名称的缓冲区的指针

    BUFSIZE//文件系统名称缓冲区的长度,如果上一参数为空,则忽略此参数

    )){

    dwLastError = GetLastError();

    if (dwLastError == 21){

    printf("设备未就绪,请放入光盘!\n");

    return 0;

    } else{

    printf("获取卷信息错误: %d\n", dwLastError);

    return 0;

    }

    }

    printf("光盘已经放入,文件系统类别: %s\n", szFileSystemNameBuffer);

    return 0;

    }

    相关文章

      网友评论

          本文标题:4.2.3 判断光驱中是否有光盘

          本文链接:https://www.haomeiwen.com/subject/dmgqsxtx.html