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