美文网首页
Windows API函数使用汇总(持续更新。。。)

Windows API函数使用汇总(持续更新。。。)

作者: Pig_deng饲养员 | 来源:发表于2019-09-17 21:13 被阅读0次

    C

    • CoCreateInstance:用指定的类标识符创建一个Com对象,创建一个未初始化的对象。
    STDAPI CoCreateInstance(
    REFCLSID rclsid, //创建的Com对象的类标识符(CLSID)
    LPUNKNOWN pUnkOuter, //指向接口IUnknown的指针
    DWORD dwClsContext, //运行可执行代码的上下文
    REFIID riid, //创建的Com对象的接口标识符
    LPVOID * ppv //用来接收指向Com对象接口地址的指针变量
    );
    
    • CreateMutex:创建一个有名或无名的互斥量,找出当前系统是否已经存在指定进程的实例。如果没有则创建一个互斥体。
    HANDLE CreateMutex(
    LPSECURITY_ATTRIBUTESlpMutexAttributes, // 指向安全属性的指针
    BOOLbInitialOwner, // 初始化互斥对象的所有者
    LPCTSTRlpName // 指向互斥对象名的指针
    );
    

    G

    • GetModuleFileName:获取当前进程已加载模块的文件的完整路径,该模块必须由当前进程加载。返回当前正在运行的可执行程序或一个被加载DLL的全路径名。

    O

    • OleInitialize:在当前单元(apartment)初始化COM库。该函数一般用于线程调用其他COM库函数之前(或者使用CoInitializeEx函数进行初始化)。
    WINOLEAPI OleInitialize( LPVOID pvReserved );
    
    • OpenMutex:为现有的一个已命名互斥体对象创建一个新句柄。
    HANDLE OpenMutex(
    DWORD dwDesiredAccess, // access
    BOOL bInheritHandle, // inheritance option
    LPCTSTR lpName // object name
    );
    

    返回值:如执行成功,返回对象的句柄;0表示失败。

    如果已有一个lpName名字的互斥量存在,则该函数调用成功。通常该函数和CreateMutex函数组合使用,可确保任意给定时刻只有一份可执行程序实例在系统上运行。

    • OpenSCManager:建立了一个到服务控制管理器的连接,并打开指定的数据库。打开一个服务控制管理器的句柄,以便程序可以添加或修改服务。

    参考博客

    S

    • StartServiceCtrlDispatcher:将服务进程的主线程连接到服务控制管理器,这使得线程成为调用进程的服务控制调度程序线程。该函数指定了服务控制管理器会调用的服务控制函数。
    BOOL WINAPI StartServiceCtrlDispatcher(
      _In_ const SERVICE_TABLE_ENTRY * lpServiceTable
    );
    

    参数lpServiceTable 指向SERVICE_TABLE_ENTRY结构数组的指针,该结构包含可在调用进程中执行的每个服务的一个条目。表中最后一个条目的成员必须具有NULL值才能指定表的结尾。

    返回值:如果函数成功,则返回值为非零值。
    如果函数失败,则返回值为零。要获取扩展错误信息,请调用GetLastError
    服务控制管理器可以设置以下错误代码。其他错误代码可以由服务控制管理器调用的注册表函数设置。

    参考博客

    • SysAllocString:分配内存,申请一个新的字符串并且拷贝传入的字符串到它里面。如果不足内存或如果一个空指针传入则这个函数返回null。
    BSTR SysAllocString(
      OLECHAR FAR* sz 
    ); 
    

    相关文章

      网友评论

          本文标题:Windows API函数使用汇总(持续更新。。。)

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