ON_PARSE_COMMAND ( FnName, mapClass, Args )
Parametry
FnName
Nazwa funkcji składowej. Również nazwa polecenia.
mapClass
Nazwa klasy mapować funkcji.
Argumenty
Argumenty, które mapują parametru FnName. Aby uzyskać listę symboli, zobacz uwagi.
Uwagi
Makro ON_PARSE_COMMAND jest używany na mapie analizy określenie polecenia do obiektu CHttpServer z klienta.
Funkcja Członkowskich wskazanych przez FnName musi mieć wskaźnik do CHttpServerContext jako pierwszy parametr. FnName jest typu LPSTRi są identyfikowane przez symbol ITS_LPSTR na mapie analizy; oznacza to, że FnName wskazuje ciąg zawierający funkcję Państwa w klasie mapClass.
Parametr Args może mieć jedną z następujących wartości:
Symbolu | Typ lub komentarza |
ITS_EMPTY | Argumenty nie może być puste. Jeśli masz żadnych argumentów za pomocą ITS_EMPTY. |
ITS_PSTR | Wskaźnik na ciąg. |
ITS_RAW | Dokładne, surowe dane wysyłane do rozszerzenia ISAPI. Nie należy używać ITS_RAW z innym typem parametru; Aby to zrobić spowoduje ASSERT. Patrz uwagi przykładem. |
ITS_I2 | krótki |
ITS_I4 | długą |
ITS_R4 | pływak |
ITS_R8 | podwójne |
Przykłady
/ / Followingnbsp; Wyodrębnianie Illustrates przykład
/ / ciąg, jak i na krótko wysyłane do serwera:
BEGI&N_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_PSTR
ITS_I2)
ON_PARSE_COMMAND_PARAMS ("całkowitą ciąg = 42")
ON_PARSE_COMMAND (Myfunc2, CDerivedClass, ITS_PSTR
ITS_I2 ITS_PSTR)
ON_PARSE_COMMAND_PARAMS ("ciąg Całkowita
ciąg2 = 'Default wartość' ")
END_PARSE_MAP(CDerivedClass)
Uwaga Użyj pojedyncze cudzysłowy, jeśli włączenie pomieszczeń do wartości domyślnych dla opcjonalnych s ITS_PSTR.
unieważnij Myfunc (CHttpServerContext * pCtxt, LPTSTR psz&Name, int nNumber);
void Myfunc2 (CHttpServerContext * pCtxt, LPTSTR pszName, int nNumber, LPTSTR pszTitle);
/ / Followingnbsp; przykład Illustrates wyodrębnianie / / nieprzetworzone dane wysyłane do serwera:
BEGIN_PARSE_MAP (CDerivedClass, CHttpServer)
DEFAULT_PARSE_COMMAND (Myfunc, CDerivedClass)
ON_PARSE_COMMAND (Myfunc, CDerivedClass, ITS_RAW)
END_PARSE_MAP(CDerivedClass)
z prototyp w następujący sposób:
void CDerivedClass::Myfunc (CHttpServerContext * pCtxt, pVoid void * DWORD dwBytes.)
W drugim przykładzie powyżej pVoid
wskaź&nik punktów danych wysyłanych do sieci extension.nbsp; dwBytes
Parametr ma liczbę bajtów na pVoid
. Jeśli dwBytes
jest równa zero, pVoid
nie mogą wskazywać na cokolwiek.
Uwaganbsp; Programy obsługi dla polecenia map analizy musi mieć wskaźnik do CHttpServerContext jako pierwszy parametr, a parametry muszą być zadeklarowane w tej samej kolejności, w której są zdefiniowane w O&N_PARSE_COMMAND.
Zobacz teżnbsp;BEGI&N_PARSE_MAP, END_PARSE_MAP, ON_PARSE_COMMAND_PARAMS, DEFAULT_PARSE_COMMAND, CHttpServer