📄 myvoipctl.h
字号:
#if !defined(AFX_MYVOIPCTL_H__1F3F81F2_B882_4C5D_97DF_AD50DC951DCB__INCLUDED_)
#define AFX_MYVOIPCTL_H__1F3F81F2_B882_4C5D_97DF_AD50DC951DCB__INCLUDED_
#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000
// MyvoipCtl.h : Declaration of the CMyvoipCtrl ActiveX Control class.
#include <objsafe.h>
#include "MySock.h"
#include "Sound.h"
#include "SoundManager.h"
#include "StreamingSound.h"
#include "WaveFile.h"
#define NUM_PLAY_NOTIFICATIONS 32
#define NUM_BUFFERS (32)
#define MAX(a,b) ( (a) > (b) ? (a) : (b) )
#define SAFE_DELETE(p) { if(p) { delete (p); (p)=NULL; } }
#define SAFE_RELEASE(p) { if(p) { (p)->Release(); (p)=NULL; } }
#define UM_RECEIVERTP WM_USER+12
/////////////////////////////////////////////////////////////////////////////
// CMyvoipCtrl : See MyvoipCtl.cpp for implementation.
typedef struct{
char clientid[20];
char buff[4096];
} voicepacket;
class CMyvoipCtrl : public COleControl
{
DECLARE_DYNCREATE(CMyvoipCtrl)
DECLARE_INTERFACE_MAP()
BEGIN_INTERFACE_PART(ObjSafe, IObjectSafety)
STDMETHOD_(HRESULT, GetInterfaceSafetyOptions) (
/* [in] */ REFIID riid,
/* [out] */ DWORD __RPC_FAR *pdwSupportedOptions,
/* [out] */ DWORD __RPC_FAR *pdwEnabledOptions
);
STDMETHOD_(HRESULT, SetInterfaceSafetyOptions) (
/* [in] */ REFIID riid,
/* [in] */ DWORD dwOptionSetMask,
/* [in] */ DWORD dwEnabledOptions
);
END_INTERFACE_PART(ObjSafe);
// Constructor
public:
CMyvoipCtrl();
// Overrides
// ClassWizard generated virtual function overrides
//{{AFX_VIRTUAL(CMyvoipCtrl)
public:
virtual void OnDraw(CDC* pdc, const CRect& rcBounds, const CRect& rcInvalid);
virtual void DoPropExchange(CPropExchange* pPX);
virtual void OnResetState();
//}}AFX_VIRTUAL
// Implementation
protected:
~CMyvoipCtrl();
DECLARE_OLECREATE_EX(CMyvoipCtrl) // Class factory and guid
DECLARE_OLETYPELIB(CMyvoipCtrl) // GetTypeInfo
DECLARE_PROPPAGEIDS(CMyvoipCtrl) // Property page IDs
DECLARE_OLECTLTYPE(CMyvoipCtrl) // Type name and misc status
// Message maps
//{{AFX_MSG(CMyvoipCtrl)
//}}AFX_MSG
DECLARE_MESSAGE_MAP()
// Dispatch maps
//{{AFX_DISPATCH(CMyvoipCtrl)
afx_msg void Record(LPCTSTR scrIP, LPCTSTR scrID);
afx_msg void Stop();
//}}AFX_DISPATCH
DECLARE_DISPATCH_MAP()
afx_msg void AboutBox();
afx_msg void RecMsg(WPARAM wParam, LPARAM lParam);
// Event maps
//{{AFX_EVENT(CMyvoipCtrl)
//}}AFX_EVENT
DECLARE_EVENT_MAP()
// Dispatch and event IDs
public:
DWORD GetDXVersion();
static long timer;
BOOL bRecord;
void InitSock();
static HRESULT StartBuffers();
static HRESULT SetBufferFormats(WAVEFORMATEX *pwfxInput, WAVEFORMATEX *pwfxOutput);
static HRESULT RestoreBuffer(LPDIRECTSOUNDBUFFER pDSBuffer, BOOL *pbRestored);
static HRESULT OnFormatsOK();
static HRESULT InitDirectSound();
static HRESULT HandleNotification();
static HRESULT FreeDirectSound();
static HRESULT CreateOutputBuffer();
enum {
//{{AFX_DISP_ID(CMyvoipCtrl)
dispidRecord = 1L,
dispidStop = 2L,
//}}AFX_DISP_ID
};
};
//{{AFX_INSERT_LOCATION}}
// Microsoft Visual C++ will insert additional declarations immediately before the previous line.
#endif // !defined(AFX_MYVOIPCTL_H__1F3F81F2_B882_4C5D_97DF_AD50DC951DCB__INCLUDED)
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -