ON_PARSE_COMMAND ( FnName, MapClass, Args )
Parameter
FnName
Der Name der Member-Funktion. Auch der Name des Befehls.
mapClass
Der Name der Klasse die Funktion zuordnen.
Args
Die Argumente, die den Parameter FnNamezugeordnet. Eine Liste der Symbole finden Sie unter Hinweise.
Bemerkungen
Das ON_PARSE_COMMAND Makro ist in eine Analysezuordnung verwendet, um einen Befehl zu einem CHttpServer -Objekt von einem Client definieren.
Die Member-Funktion identifiziert durch FnName muss einen Zeiger auf die CHttpServerContext als ersten Parameter nehmen. FnName ist vom Typ LPSTRund wird durch das Symbol ITS_LPSTR in die Analysezuordnung identifiziert; Das heißt, verweist FnName auf eine Zeichenfolge, die die Member-Funktion in der Klasse mapClass.
Der Args -Parameter kann einen der folgenden Werte annehmen:
| Symbol | Typ oder Kommentar |
| ITS_EMPTY | Args darf nicht leer sein. Verwenden Sie ITS_EMPTY , wenn Sie keine Argumente haben. |
| ITS_PSTR | Ein Zeiger auf eine Zeichenfolge. |
| ITS_RAW | Die genauen, rohen-Daten an die ISAPI-Erweiterung gesendet. Verwenden Sie nicht ITS_RAW mit einem anderen Parameter; dazu wird ein ASSERTverursachen. Ein Beispiel finden Sie unter Hinweise. |
| ITS_I2 | eine kurze |
| ITS_I4 | eine lange |
| ITS_R4 | float |
| ITS_R8 | doppelzimmer |
Beispiele
/ / Der Followingnbsp; Beispiel enthält extrahieren
/ / String und einem kurzen, an den Server gesendet:
BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND Myfunc (CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_PSTR
ITS_I2)
ON_PARSE_COMMAND_PARAMS ("Zeichenfolge ganze Zahl = 42")
ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("String integer
string2 = 'Default-Wert' ")
END_PARSE_MAP(CDerivedClass)
Hinweis&Nbsp; Verwenden Sie einfache Anführungszeichen, wenn Sie Leerzeichen in die Standardwerte für optionale ITS_PSTRs integrieren.
void Myfunc (LPTSTR Psz&Name, CHttpServerContext * pCtxt, Int nzulässige);
void Myfunc2 (CHttpServerContext * pCtxt, LPTSTR PszName, Int nzulässige, LPTSTR PszTitle);
/ / Der Followingnbsp; Beispiel enthält extrahieren / / raw-Daten an den Server gesendet:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND Myfunc (CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)
mit der funktionsprototyp wie folgt:
void CDerivedClass::Myfunc (Void * pVoid, CHttpServerContext * pCtxt, DWORD DwBytes)
Im zweiten Beispiel oben die pVoid Zeiger verweist auf die Daten gesendet, um Ihre extension.nbsp; Die dwBytes Parameter verfügt über eine Anzahl von Bytes in pVoid . Wenn dwBytes gleich &NULL ist, pVoid kann nicht auf etwas zeigen,.
Hinweis&Nbsp; Der Handler für eine Analyse anzeigen Befehl einen Zeiger zu einem CHttpServerContext als ersten Parameter ergreifen müssen, und die Parameter müssen in der gleichen Reihenfolge, in der sie, in ON_PARSE_COMMAND definiert sind, deklariert werden.
Siehe auch&Nbsp;BEGIN_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer