123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- #pragma once
- #ifndef __SpoutSharedMemory_
- #define __SpoutSharedMemory_
- #include "SpoutCommon.h"
- #include <windowsx.h>
- #include <d3d9.h>
- #include <wingdi.h>
- enum SpoutCreateResult
- {
- SPOUT_CREATE_FAILED = 0,
- SPOUT_CREATE_SUCCESS,
- SPOUT_ALREADY_EXISTS,
- SPOUT_ALREADY_CREATED,
- };
- class SPOUT_DLLEXP SpoutSharedMemory {
- public:
- SpoutSharedMemory();
- ~SpoutSharedMemory();
-
- SpoutCreateResult Create(const char* name, int size);
-
- bool Open(const char* name);
- void Close();
-
- char* Lock();
- void Unlock();
- void Debug();
- private:
- char* m_pBuffer;
- HANDLE m_hMap;
- HANDLE m_hMutex;
- int m_lockCount;
- const char* m_pName;
- int m_size;
- };
- #endif
|