⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 lvmem.h

📁 相机传输图像程序源代码 拜耳模式(RAW格式文件)与RGB图像数据互相转换函数库
💻 H
字号:
#ifndef ___LVMEM_H
#define ___LVMEM_H

#include <pci.h>

#include <lvpackon.h>

class LvMem {

    private:

    protected:

        U32BIT Size;

        U8BIT _Huge_ *UserPtr;
        LVRAWPTR PhysicalAddress;
        LVRAWPTR LinearAddress;

        #ifndef __WIN3264__
        U16BIT LastBlock;
        U16BIT LastBlockSize;
        UINT   FirstSelector;
        BOOL   DPMISetSelectorLimit (UINT selector, DWORD dwLimit);
        void   FreeSelectorArray(void);
        LVSTATUS BuildSelectorArray(void);
        #endif

    public:

        LvMem(U32BIT aMemSize);
        ~LvMem(void);

        LVRAWPTR GetPhysicalAddress(void)    { return PhysicalAddress; }
        LVRAWPTR GetLinearAddress(void)      { return LinearAddress; }
        U8BIT _Huge_ *GetUserAddress(void) { return UserPtr; }
        U32BIT GetSize(void)               { return Size; }
    };


class LvPhysicalMem : public LvMem {
    private:
    protected:
        LVRAWPTR Phys2Lin(LVRAWPTR PhysicalAddress, U32BIT Size);
        LVSTATUS Initialize(LVRAWPTR Physical);
    public:
        LvPhysicalMem(LVRAWPTR Address, U32BIT Size);
        ~LvPhysicalMem();
    };

class LvLinearMem : public LvMem {
    private:
    protected:
        LVSTATUS Initialize(LVRAWPTR LinMemAddress);
    public:
        LvLinearMem(LVRAWPTR Address, U32BIT Size);
        ~LvLinearMem();
    };

class LvUserMem : public LvMem {
    private:
    protected:
        HANDLE hMem;
    public:
        LvUserMem(LVRAWPTR Address, U32BIT Size);
        ~LvUserMem();
    };


#include <lvpackof.h>

#endif


⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -