hidpkt.h

来自「CE下串口复用程序」· C头文件 代码 · 共 61 行

H
61
字号
//
// Copyright (c) Microsoft Corporation.  All rights reserved.
//
//
// This source code is licensed under Microsoft Shared Source License
// Version 1.0 for Windows CE.
// For a copy of the license visit http://go.microsoft.com/fwlink/?LinkId=3223.
//
#if ! defined (__hidpkt_H__)
#define __hidpkt_H__		1

#define BTHHID_TYPICAL_PAYLOAD	64

class BTHHIDPacket
{
public:
    BTHHIDPacket();
    BTHHIDPacket(BYTE* pPayload, int cbBuffer);
    ~BTHHIDPacket();

    void ReleasePayload();

    void SetReportType(E_BTHID_REPORT_TYPES iReportType);
    void SetHeader(BYTE bHeader);
    void SetPayload(BYTE* pbPayload, int cbPayload);     // no copying
    void SetMTU(int iMTU);
	void SetOwner(void *lpOwner);

    E_BTHID_REPORT_TYPES GetReportType() const;
    BYTE GetHeader() const;
    int  GetMTU() const;
    void *GetOwner() const;
    void GetPayload(BYTE** ppbPayload, int* pcbPayload) const; // no copying

    // Copies to and from pbPayload
    BOOL AddPayloadChunk(BYTE* pbPayload, int cbPayload);
    BOOL GetPayloadChunk(BYTE* pbPayload, int cbPayload, int* pcbTransfered);

	void *operator new (size_t iSize);
	void operator delete(void *ptr);

private:
    BTHHIDPacket(const BTHHIDPacket& packet); // shouldn't need that

    BYTE  m_bHeader;
    BYTE* m_pbPayload;
    int   m_cbPayload;
    int   m_cbRemaining;
    int   m_iMTU;

	void  *m_pOwner;
    E_BTHID_REPORT_TYPES m_iReportType;

	unsigned char m_ucBuffer[BTHHID_TYPICAL_PAYLOAD];
};

int BthPktInitAllocator (void);
int BthPktFreeAllocator (void);

#endif

⌨️ 快捷键说明

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