📄 queue.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 + -