Source code of Windows XP (NT5)
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
/***************************************************************************/ /** Microsoft Windows **/ /** Copyright(c) Microsoft Corp., 1995-1996 **/ /***************************************************************************/
/****************************************************************************
cuserdta.hpp
June 96 LenS
T120 user data/object ID infrastructure.
****************************************************************************/
#ifndef USERDATA_INC
#define USERDATA_INC
#include <nmutil.h>
#include <oblist.h>
#include <confdbg.h>
#include <confguid.h>
// H.221 utility functions
VOID CreateH221AppKeyFromGuid(LPBYTE lpb, GUID * pguid); BOOL GetGuidFromH221AppKey(LPTSTR pszGuid, LPOSTR pOctStr);
// GetUserData extracts user data from a T120 event message.
// The caller passes in the T120 data structures and the GUID
// associated with the user data, and receives back a pointer to
// the buffer containing the user data.
// This buffer will be invalidated by the user returning from
// the event. If the user data consisted just
// of the GUID, then *pnData == NULL and *ppData == NULL.
HRESULT NMINTERNAL GetUserData(UINT nRecords, GCCUserData ** ppUserData, GUID * pGUID, UINT * pnData, PVOID * ppData);
/*************************************************************************
NAME: USER_DATA
SYNOPSIS: This class is used internally by the Node Controller to contruct a user data list. Each entry is GUID based with binary data following that is uninterpreted by the Node Controller and T120.
INTERFACE: USER_DATA(object ID) Construct the container for the list.
~USER_DATA_GUID() Destructor automatically releases data allocated.
AddUserData() Add some user data to the list, keyed by a unique GUID. If the GUID is already in the list, then its data will be overwritten.
GetUserData() Used in conjunction with GetNumUserData() to put the user data into a T120 request.
GetNumUserData() See GetUserData().
PARENT: None
USES: None
CAVEATS: 1) The user data binary information must fit in an unsigned short field, less the bytes for the GUID header and byte count.
NOTES: None.
HISTORY: 06/04/96 lens Created
**************************************************************************/
class CNCUserDataList : private CList { public:
CNCUserDataList(void); ~CNCUserDataList(void);
HRESULT AddUserData(GUID * pGUID, UINT nData, PVOID pData); HRESULT GetUserDataList(UINT * pnRecords, GCCUserData *** pppUserData); GCCUserData **GetUserData(void); GCCUserData *GetUserGUIDData(GUID * pGUID); void DeleteEntry(GUID * pGUID);
private:
BOOL Append(GCCUserData* pData) { return CList::Append((LPVOID) pData); } BOOL Remove(GCCUserData* pData) { return CList::Remove((LPVOID) pData); } GCCUserData* Iterate(void) { return (GCCUserData*) CList::Iterate(); }
GCCUserData ** m_apUserData; };
#endif /* ndef USERDATA_INC */
|