ON_PARSE_COMMAND

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

Index