ShareMemWR.h 893 B

1234567891011121314151617181920212223242526272829303132
  1. #pragma once
  2. #include "DIOSLogicDeviceStructure.h"
  3. #include "ShareMemClientInterface.h"
  4. #include "definitions.h"
  5. #define SM_API_BLOCK_COUNT (15)
  6. class ShareMemWR {
  7. WORD*m_pDataPtr;
  8. CShareMemClient m_shareMemclient;
  9. C2DGrayImageData *m_pImgFull;
  10. C2DGrayImageData *m_pImgPrev;
  11. CBaseFunctionDataElement *m_pElement;
  12. unsigned int m_dwShareMemIdFullIdx;
  13. unsigned long long m_dwShareMemIdFull[SM_API_BLOCK_COUNT];
  14. unsigned long long m_dwShareMemIdPreview;
  15. ImgDataInfo *pImgData;
  16. bool GetShareMemBuf(ImgDataInfo *pImgData);
  17. int WriteImageToShareMem(unsigned long long &dwShareMemId);
  18. unsigned long long &GetNextSmId();
  19. public:
  20. ShareMemWR(void);
  21. virtual ~ShareMemWR(void);
  22. PVOID GetDataBuf(unsigned long long nShareMemID, char *&pBuff,DWORD &Size);
  23. void ReleaseDataBuf(PVOID Handle);
  24. RET_STATUS BufferToNotify(void * pOemImage, DWORD ImageSize, ImgDataInfo* PImgDataInfo);
  25. };