📄 multiply.cpp
字号:
// MULTIPLY.CPP - Implementation file for your Internet Server
// multiply Extension
#include "stdafx.h"
#include "multiply.h"
///////////////////////////////////////////////////////////////////////
// The one and only CWinApp object
// NOTE: You may remove this object if you alter your project to no
// longer use MFC in a DLL.
CWinApp theApp;
///////////////////////////////////////////////////////////////////////
// command-parsing map
BEGIN_PARSE_MAP(CMultiplyExtension, CHttpServer)
// TODO: insert your ON_PARSE_COMMAND() and
// ON_PARSE_COMMAND_PARAMS() here to hook up your commands.
// For example:
ON_PARSE_COMMAND(Default, CMultiplyExtension, ITS_EMPTY)
DEFAULT_PARSE_COMMAND(Default, CMultiplyExtension)
/************* My codes begin here ***********/
ON_PARSE_COMMAND(mult, CMultiplyExtension, ITS_PSTR ITS_PSTR)
ON_PARSE_COMMAND_PARAMS("m n")
/************* My codes end here ***********/
END_PARSE_MAP(CMultiplyExtension)
///////////////////////////////////////////////////////////////////////
// The one and only CMultiplyExtension object
CMultiplyExtension theExtension;
///////////////////////////////////////////////////////////////////////
// CMultiplyExtension implementation
CMultiplyExtension::CMultiplyExtension()
{
}
CMultiplyExtension::~CMultiplyExtension()
{
}
BOOL CMultiplyExtension::GetExtensionVersion(HSE_VERSION_INFO* pVer)
{
// Call default implementation for initialization
CHttpServer::GetExtensionVersion(pVer);
// Load description string
TCHAR sz[HSE_MAX_EXT_DLL_NAME_LEN+1];
ISAPIVERIFY(::LoadString(AfxGetResourceHandle(),
IDS_SERVER, sz, HSE_MAX_EXT_DLL_NAME_LEN));
_tcscpy(pVer->lpszExtensionDesc, sz);
return TRUE;
}
BOOL CMultiplyExtension::TerminateExtension(DWORD dwFlags)
{
// extension is being terminated
//TODO: Clean up any per-instance resources
return TRUE;
}
///////////////////////////////////////////////////////////////////////
// CMultiplyExtension command handlers
void CMultiplyExtension::Default(CHttpServerContext* pCtxt)
{
StartContent(pCtxt);
WriteTitle(pCtxt);
*pCtxt << _T("This default message was produced by the Internet");
*pCtxt << _T(" Server DLL Wizard. Edit your CMultiplyExtension::Default()");
*pCtxt << _T(" implementation to change it.\r\n");
EndContent(pCtxt);
}
/****** My code begins here**********/
void CMultiplyExtension::mult(CHttpServerContext* pctxt, LPCTSTR pstrM, LPCTSTR pstrN)
{
// do processing here!
*pctxt << _T("<H3>乘法结果</H3> ");
// int mult=atoi(_T(pstrM))*atoi(_T(pstrN));
int m,n;
sscanf(pstrM,"%d",&m);
sscanf(pstrN,"%d",&n);
int mult=m*n;
char multBuf[32];
sprintf(multBuf,"%d",mult);
*pctxt <<_T("<P>");
*pctxt << _T(pstrM);
*pctxt << _T("和");
*pctxt << _T(pstrN);
*pctxt << _T("的乘积是");
*pctxt << _T(multBuf);
}
/********* My codes end here **********/
// Do not edit the following lines, which are needed by ClassWizard.
#if 0
BEGIN_MESSAGE_MAP(CMultiplyExtension, CHttpServer)
//{{AFX_MSG_MAP(CMultiplyExtension)
//}}AFX_MSG_MAP
END_MESSAGE_MAP()
#endif // 0
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -