on_parse_command ( FnName, mapClass, Args )
Parametreleri
FnName
Üye işlev adı. Ayrıca komut adı.
mapClass
İşleve eşlemek için sınıf adı.
Args
Parametre FnNameiçin göster değişkenler. Açıklamalar simgelerinin listesi için bkz:.
Açıklamalar
on_parse_command makro bir ayrıştırma haritasında bir komut bir CHttpServer nesnesine bir istemciden tanımlamak için kullanılır.
FnName tarafından tanımlanan üye işlev işaretçisi CHttpServerContext için ilk parametresi olarak almalısınız. FnName türü lpstrve ayrıştırma harita ITS_LPSTR simgesi ile tanımlanır; başka bir deyişle, sınıf mapClass üye işlevi içeren bir dize FnName işaret.
Args parametre aşağıdaki değerlerden birini alabilir:
| Sembol | Türü veya yorum |
| ITS_EMPTY | Args boş olamaz. Hiçbir bağımsız değişken varsa, ITS_EMPTY kullanmak. |
| ITS_PSTR | Bir dize işaretçisi. |
| ITS_RAW | ISAPI uzantısı için gönderilen tam, ham verileri. ITS_RAW , başka bir parametre türü ile kullanmayın; Bunu yapmak için bir assertneden olur. Açıklamalar için bkz:. |
| ITS_I2 | kısa bir |
| ITS_I4 | uzun bir |
| ITS_R4 | float |
| ITS_R8 | double |
Örnekler
/ / Followingnbsp; example Illustrates ayıklanıyor
/ / string ve sunucuya gönderilen kısa bir:
BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
default_parse_command (Myfunc, CDerivedClass)
on_parse_command (Myfunc, CDerivedClass, ITS_PSTR
ITS_I2)
on_parse_command_params ("dizesi tamsayı = 42")
on_parse_command (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
on_parse_command_params ("dizesi tamsayı
dize2 'varsayılan değer' = ")
END_PARSE_MAP(CDerivedClass)
&Notnbsp; Varsayılan değerler için isteğe bağlı ITS_PSTRs içine boşluklar dahil tek tırnakları kullanın.
void Myfunc (CHttpServerContext * pCtxt, lptstr psz&Name, int nNumber);
void Myfunc2 (int nNumber, CHttpServerContext * pCtxt, lptstr pszName, lptstr pszTitle);
/ / Followingnbsp; example Illustrates çıkarma / / ham verileri sunucuya gönderilir:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
default_parse_command (Myfunc, CDerivedClass)
on_parse_command (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)
ile işlev prototip gibidir:
void CDerivedClass::Myfunc (CHttpServerContext * pCtxt, void * pVoid, dword dwBytes)
Yukarıdaki iki&nci örnekte pVoid İşaretçi işaret senin extension.nbsp için; gönderilen veri dwBytesParametresi vardır bayt sayısı pVoid . Eğer dwBytes sıfır, pVoid herhangi bir şey için işaret olabilir.
&Notnbsp; İşleyicileri bir ayrıştırma göster komutu ilk parametre olarak CHttpServerContext işaretçisi almak gerekir ve parametreler içinde on_parse_command onlar tanymlanyrlar aynı sırada bildirilmelidir.
Ayrıca bkz:nbsp;BEGI&N_PARSE_MAP, end_parse_map, on_parse_command_params, default_parse_command, CHttpServer