ON_PARSE_COMMAND

ON_PARSE_COMMAND ( FnName, mapClass, , Args )

Paramètres

FnName

Le nom de la fonction membre. Aussi le nom de la commande.

mapClass

Le nom de classe pour mapper la fonction pour.

Args

Les arguments qui mappent vers du paramètre FnName. Voir les remarques pour obtenir une liste des symboles.

Remarques

La macro ON_PARSE_COMMAND est utilisée dans une table d'analyse afin de définir une commande à un objet CHttpServer d'un client.

La fonction de membre identifiée par FnName doit prendre un pointeur à la CHttpServerContext comme premier paramètre. FnName est de type LPSTRet est identifiée par le symbole ITS_LPSTR dans la table d'analyse ; C'est, FnName pointe vers une chaîne contenant la fonction de membre dans la classe mapClass.

Le paramètre Args peut prendre l'une des valeurs suivantes:

Symbole Type ou commentaire
ITS_EMPTY Args ne peut pas être vide. Utilisez ITS_EMPTY si vous n'avez pas d'arguments.
ITS_PSTR Un pointeur vers une chaîne.
ITS_RAW Les données exactes, crues envoyées à l'extension ISAPI. Ne pas utiliser ITS_RAW avec un autre type de paramètre ; pour ce faire, il provoquera un ASSERT. Voir les remarques par exemple.
ITS_I2 un court métrage
ITS_I4 une longue
ITS_R4 un flotteur
ITS_R8 un double

Exemples

/ / La followingnbsp ; exemple reflète extraction
/ / une chaîne et un court envoyée au serveur :

BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
   DEFAULT_PARSE_COMMAND mafonction (CDerivedClass)
   ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_PSTR
    ITS_I2)
   Noms ("string integer = 42")
   ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
    ITS_I2, ITS_PSTR)
   Noms ("string integer
    chaîne2 = « Valeur par défaut » »)
END_PARSE_MAP(CDerivedClass)

&Notenbsp ;  Utilisez des guillemets simples si vous incorporer des espaces dans les valeurs par défaut pour l'option ITS_PSTRs.

vOID mafonction (CHttpServerContext * pCtxt, LPTSTR psz&Name, int nnombre) ;
VOID Myfunc2 (CHttpServerContext * pCtxt, LPTSTR pszName, int nnombre, LPTSTR pszTitle) ;

/ / La followingnbsp ; exemple reflète extraction / / données brutes envoyées au serveur :

BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
   DEFAULT_PARSE_COMMAND mafonction (CDerivedClass)
   ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)

avec le prototype de la fonction comme suit:

 vOID CDerivedClass::Myfunc (CHttpServerContext * pCtxt, void * pVoid, DWORD dwBytes)

Da&ns le deuxième exemple ci-dessus, la pVoid pointeur pointe vers les données envoyées à votre extension.nbsp ; La dwBytes paramètre a un nombre d'octets à pVoid .  Si dwBytes est égal à zéro, pVoid ne peut pas pointer sur quoi que ce soit.

&Notenbsp ;  Les gestionnaires d'événements pour une commande de carte parse doivent prendre un pointeur à une CHttpServerContext comme premier paramètre, et les paramètres doivent être déclarés dans le même ordre dans lequel ils sont définis dans ON_PARSE_COMMAND.

Voir aussinbsp ;BEGI&N_PARSE_MAP, END_PARSE_MAP, noms, DEFAULT_PARSE_COMMAND, CHttpServer

Index