When an ISAPI extension generates headers via WriteClient() instead of HSE_REQ_SEND_RESPONSE_HEADER_EX without Content-Length provided and FlatComp is active, FlatComp discards first call of extension's WriteClient(). Could be tested with such a code:
DWORD WINAPI HttpExtensionProc(const EXTENSION_CONTROL_BLOCK *ecb)
{
const char *buf=
"HTTP/1.1 200 OK\r\n"
"Content-type: text/html\r\n\r\n"
"<html><body>Hello there</body></html>";
DWORD len=strlen(buf);
ecb->WriteClient(ecb->ConnID, buf, &len, HSE_IO_SYNC);
return HSE_STATUS_SUCCESS;
}
When this extension is invoked, it works well without FlatComp installed. When FlatComp is active, no output will appear in browser, while pass-through is expected since no Content-Length is provided.
osicka at post dot cz