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
);
网友评论