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

📄 queue.h

📁 自己在wince的环境下做的一移动数字电视驱动
💻 H
字号:
#ifndef _DATAQUEUE_H_
#define _DATAQUEUE_H_

#pragma once
//
// CDataQueue Class Declarations
//
#define PBYTE unsigned char *
#define BYTE unsigned char

class CDataQueue
{
   
	PBYTE       mpBuf;
	DWORD       mSize;
	DWORD       mHead;
	DWORD       mTail;
	DWORD       mState;
	BOOL        mIsEos;
	DWORD		mSum;
   
	CRITICAL_SECTION    mStateLock;

public:
	CDataQueue(DWORD dwSize, BOOL *phr);
	virtual ~CDataQueue();

	unsigned int GetSum();	
	DWORD       FreeSize();
	DWORD       FillSize();
	void        Initialize();
	DWORD       Peek(DWORD dwPos, DWORD dwSize);
	void		Clear();
	void        Flush(DWORD dwSize);
	void        Fill(DWORD dwSize);
	void        SetState(DWORD dwState) { mState = dwState; }
	void        SetEndOfStream(BOOL bEOS) { mIsEos = bEOS; }
	DWORD       GetState(void) { return mState; }
	BOOL        IsEndOfStream(void) { return mIsEos; }
	DWORD       Get(BYTE *pbDst, DWORD dwBytesToCopy);
	DWORD       Put(BYTE *pbSrc, DWORD dwBytesToCopy);
   
	DWORD		PeekLocked(DWORD dwPos, DWORD dwSize);
	DWORD		GetLocked(BYTE *pbDst, DWORD dwPos, DWORD dwBytesToCopy);

private:
   
	void        GetInputBufPointer(PBYTE *ppbBuf, PBYTE *ppbBuf2, DWORD *pdwSize, DWORD *pdwSize2);
	void        GetOutputBufPointer(PBYTE *ppbBuf, PBYTE *ppbBuf2, DWORD *pdwSize, DWORD *pdwSize2);
};
#endif

⌨️ 快捷键说明

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