ON_PARSE_COMMAND

ON_PARSE_COMMAND ( FnName, mapClass, Args

パラメーター

FnName

メンバー関数の名前。また、コマンドの名前。

mapClass

関数にマップするクラス名。

Args

パラメーター FnNameにマップ、引数。発言のシンボルを一覧します。

解説

クライアントからCHttpServerオブジェクトにコマンドを定義するON_PARSE_COMMANDマクロはパース マップの使用します。

FnNameによって識別されるメンバー関数ポインターは、 CHttpServerContextにその最初のパラメーターとして取る必要があります。FnName LPSTRの種類であり、パース マップ内のシンボルITS_LPSTRによって識別される;つまり、 FnNameをクラスmapClassのメンバー関数の文字列を指す。

パラメーター Argsは、次の値の 1 つを取ることができます。:

シンボル 型またはコメント
ITS_EMPTY Argsは空白にできません。引数があるない場合にITS_EMPTYを使用します。
ITS_PSTR 文字列へのポインター。
ITS_RAW ISAPI 拡張機能に送信される、正確な生のデータ。ITS_RAWをでは、任意の他のパラメーターの型とは使用しないでください;これを行うには、アサートが発生します。「解説」を参照してください例について。
ITS_I2 短い
ITS_I4 長い
ITS_R4 float
ITS_R8 ダブル

//Followingnbsp;例を示す抽出//文字列と短いのサーバーに送信。BEGIN_PARSE_MAP (CDerivedClass、CHttpServer)DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)ON_PARSE_COMMAND (Myfunc、CDerivedClass、ITS_PSTRITS_I2)ON_PARSE_COMMAND_PARAMS (「文字列の整数 = 42")ON_PARSE_COMMAND (Myfunc2、CDerivedClass、ITS_PSTRITS_I2 ITS_PSTR)ON_PARSE_COMMAND_PARAMS (「文字列整数string2 '既定値' =」)END_PARSE_MAP(CDerivedClass)(&N)

特価;オプションのITS_PSTRs の既定値はスペースを組み込む場合に単一引用符を使用します。(&N)。

void Myfunc (CHttpServerContext ※ pCtxt, LPTSTR pszName, int ナンバー);void Myfunc2 (CHttpServerContext ※ pCtxt, LPTSTR pszName、int ナンバー、LPTSTR pszTitle);//Followingnbsp;例を示す抽出/・生データをサーバーに送信。BEGIN_PARSE_MAP (CDerivedClass、CHttpServer)DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)ON_PARSE_COMMAND (Myfunc、CDerivedClass、ITS_RAW)END_PARSE_MAP(CDerivedClass)(&N)

関数のプロトタイプは次のとおり:

cDerivedClass::Myfunc (CHttpServerContext ※ pCtxt、void ※ pVoid、DWORD dwBytes) が無効します。

上記の 2 番目の例で、 pVoid 、extension.nbsp には、送信されるデータが指すポインターdwBytesパラメーターはバイト数 pVoid 。場合 dwBytes が 0 である pVoid には何もポイントがないです。(&N)。

特価;パース マップ コマンドのハンドラーのポインターを最初のパラメーターとしてCHttpServerContextするために必要し、パラメーターがON_PARSE_COMMANDに定義されている同じ順序で宣言する必要があります。(&N)。

参照特価;BEGIN_PARSE_MAPEND_PARSE_MAPON_PARSE_COMMAND_PARAMSDEFAULT_PARSE_COMMANDCHttpServer(&N)

Index