zoukankan      html  css  js  c++  java
  • Mac OS 里面如何识别磁盘。

    void hello_disk(DADiskRef disk, void *context){

    printf("disk %s appeared\n", DADiskGetBSDName(disk));

        

    }

    void goodbye_disk(DADiskRef disk, void *context){

    printf("disk %s disappeared\n", DADiskGetBSDName(disk));

    }

     

    DADissenterRef hello_diskmount(DADiskRef disk, void *context){

    printf("disk %s 磁盘卷中\n", DADiskGetBSDName(disk));

        returnNULL;

    }

    DADissenterRef goodbye_diskmount(DADiskRef disk, void *context){

    printf("disk %s 磁盘卷卸载中\n", DADiskGetBSDName(disk));

        returnNULL;

    }

     void hello_diskpeek(DADiskRef disk, void *context){

    printf("disk %s 磁盘安装卷中\n", DADiskGetBSDName(disk));

    }

     

    DASessionRef session;

    session = DASessionCreate(kCFAllocatorDefault);//创建一个新的会话//kCFAllocatorDefault=null;

     

        DARegisterDiskAppearedCallback(session, NULL, hello_disk, NULL);//注册一个回调函数称为每当一个磁盘已经出现了。

    DARegisterDiskDisappearedCallback(session, NULL, goodbye_disk, NULL);//注册一个回调函数称为每当一个磁盘已经消失了。

        

        

        DARegisterDiskMountApprovalCallback(session,NULL,hello_diskmount,NULL);//注册一个回调函数被称为磁盘时已经探测。

        DARegisterDiskUnmountApprovalCallback(session, NULL, goodbye_diskmount, NULL);//注册一个回调函数的调用,每当一个卷卸载。

        

        

        DARegisterDiskPeekCallback(session,NULL,0,hello_diskpeek,NULL);//注册一个回调函数被调用时要安装卷。

        

        

        

    DASessionScheduleWithRunLoop(session,CFRunLoopGetCurrent(), kCFRunLoopDefaultMode);//运行循环的调度会话。//CFRunLoopGetCurrent()返回当前线程CFRunLoop的对象。

    //CFRunLoopRun();//无限期地运行当前线程的默认模式CFRunLoop对象。

    CFRelease(session);//注销一个核心基础对象。

  • 相关阅读:
    Linux基础(14)进程通信 IPCs
    Linux基础(13)进程基础
    Linux基础(10)AIO项目设计与POSIX文件操作和目录管理
    Linux基础(09)aio高级编程
    Linux基础(08)信号通信机制
    Linux基础(06)IO复用
    Linux基础(05)socket编程
    LInux基础(04)项目设计一(理解链表管理协议的代码架构)
    C#关于一个程序,只可以有一种实例的方法
    C#application.exit()和environment.Exit(0)比较
  • 原文地址:https://www.cnblogs.com/pinping/p/2256894.html
Copyright © 2011-2022 走看看