diff --git a/Readme.md b/Readme.md new file mode 100644 index 0000000..e0c3f06 --- /dev/null +++ b/Readme.md @@ -0,0 +1,34 @@ +# WinUtil + +Tools for Windows Program Developing. + +## `class SharedMemory` 共享内存类 + +构造时可选择打开或新建共享内存,通过名称指定共享内存,传入参数以创建共享内存. 析构时会自动关闭或释放共享内存 + +主要API: + +`bool isReady() const` 用于检查共享内存是否就绪 + +`void* get()` 返回共享内存. 该内存有效长度为创造时指定的长度. + +## `class NamedMutex` 命名互斥量 + +构造时可选择获取或新建命名互斥量,通过create参数指定,默认为打开. 析构时仅清理句柄资源,不会改变互斥量的状态. + +主要API: + +`bool isReady() const` 用于检查命名互斥量是否正确打开(句柄检查) + +`DWORD getError() const` 获取上一次WINAPI操作的错误码 + +`int wait()` 等待互斥量就绪(如果互斥量当前不被本线程占有,则等待直到本线程获取到互斥量) + +`int wait_for(int ms)` 等待互斥量就绪,最多等待ms毫秒. + + 返回值: + 1 成功获取到互斥锁 + 0 超时 + -1 出现错误(此情况会重置错误码) + +`void release()` 释放互斥量