windows-nt/Source/XPSP1/NT/termsrv/remdsk/rds/t120/h/cnpcoder.h
2020-09-26 16:20:57 +08:00

61 lines
1.7 KiB
C++

/*
* ogcccode.h
*
* Copyright (c) 1999 by Microsoft Corporation
*
* Abstract:
* This is the interface file for the CNPCoder class. This
* class is used to encode and decode CNP Protocol Data Units (PDU's)
* to and from ASN.1 compliant byte streams using the ASN.1 toolkit.
*
* Caveats:
* None.
*
* Author:
* Xin Liu
*
*/
#ifndef _CCNPCODER_
#define _CCNPCODER_
#include "pktcoder.h"
#include "cnppdu.h"
/*
* This is the class definition for class CCNPCoder
*/
class CCNPCoder : public PacketCoder
{
public:
CCNPCoder ();
BOOL Init ( void );
virtual ~CCNPCoder ();
virtual BOOL Encode (LPVOID pdu_structure,
int pdu_type,
UINT rules_type,
LPBYTE *encoding_buffer,
UINT *encoding_buffer_length);
virtual BOOL Decode (LPBYTE encoded_buffer,
UINT encoded_buffer_length,
int pdu_type,
UINT rules_type,
LPVOID *decoding_buffer,
UINT *decoding_buffer_length);
virtual void FreeEncoded (LPBYTE encoded_buffer);
virtual void FreeDecoded (int pdu_type, LPVOID decoded_buffer);
virtual BOOL IsMCSDataPacket ( LPBYTE, UINT ) { return FALSE; };
private:
// BOOL IsObjectIDCompliant (PKey t124_identifier);
ASN1encoding_t m_pEncInfo; // ptr to encoder info
ASN1decoding_t m_pDecInfo; // ptr to decoder info
};
typedef CCNPCoder * PCCNPCoder;
#endif