Hex Artifact Content

Not logged in

Artifact dcfd30a46b353b59b479e087779f233f8d8612dd:


0000: 2f 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  /***************
0010: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0020: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0030: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0040: 2a 2a 2a 2a 2a 2a 2a 2a 5c 0d 0a 2a 20 20 20 20  ********\..*    
0050: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0060: 20 20 20 20 20 20 20 20 20 20 20 68 74 74 70 65             httpe
0070: 78 74 2e 64 20 20 20 20 20 20 20 20 20 20 20 20  xt.d            
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20 20     *..*         
00a0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00c0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0d                *.
00e0: 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .*              
00f0: 20 20 20 20 20 20 20 20 20 57 69 6e 64 6f 77 73           Windows
0100: 20 41 50 49 20 68 65 61 64 65 72 20 6d 6f 64 75   API header modu
0110: 6c 65 20 20 20 20 20 20 20 20 20 20 20 20 20 20  le              
0120: 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20 20           *..*   
0130: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0140: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0150: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0160: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0170: 20 20 20 20 2a 0d 0a 2a 20 20 20 20 20 20 20 20      *..*        
0180: 20 20 20 20 20 20 20 20 20 54 72 61 6e 73 6c 61           Transla
0190: 74 65 64 20 66 72 6f 6d 20 4d 69 6e 47 57 20 57  ted from MinGW W
01a0: 69 6e 64 6f 77 73 20 68 65 61 64 65 72 73 20 20  indows headers  
01b0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a                 *
01c0: 0d 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  ..*             
01d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
01f0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0200: 20 20 20 20 20 20 20 20 20 20 2a 0d 0a 2a 20 20            *..*  
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0220: 20 20 20 20 20 50 6c 61 63 65 64 20 69 6e 74 6f       Placed into
0230: 20 70 75 62 6c 69 63 20 64 6f 6d 61 69 6e 20 20   public domain  
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0250: 20 20 20 20 20 2a 0d 0a 5c 2a 2a 2a 2a 2a 2a 2a       *..\*******
0260: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0270: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0280: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
0290: 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a 2a  ****************
02a0: 2f 0d 0a 6d 6f 64 75 6c 65 20 77 69 6e 33 32 2e  /..module win32.
02b0: 68 74 74 70 65 78 74 3b 0d 0a 0d 0a 2f 2a 20 43  httpext;..../* C
02c0: 6f 6d 6d 65 6e 74 20 66 72 6f 6d 20 4d 69 6e 47  omment from MinG
02d0: 57 0d 0a 20 20 20 20 20 20 20 68 74 74 70 65 78  W..       httpex
02e0: 74 2e 68 20 2d 20 48 65 61 64 65 72 20 66 6f 72  t.h - Header for
02f0: 20 49 53 41 50 49 20 65 78 74 65 6e 73 69 6f 6e   ISAPI extension
0300: 73 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 54 68 69  s.....       Thi
0310: 73 20 66 69 6c 65 20 69 73 20 70 61 72 74 20 6f  s file is part o
0320: 66 20 61 20 66 72 65 65 20 6c 69 62 72 61 72 79  f a free library
0330: 20 66 6f 72 20 74 68 65 20 57 69 6e 33 32 20 41   for the Win32 A
0340: 50 49 2e 0d 0a 0d 0a 20 20 20 20 20 20 20 54 68  PI.....       Th
0350: 69 73 20 6c 69 62 72 61 72 79 20 69 73 20 64 69  is library is di
0360: 73 74 72 69 62 75 74 65 64 20 69 6e 20 74 68 65  stributed in the
0370: 20 68 6f 70 65 20 74 68 61 74 20 69 74 20 77 69   hope that it wi
0380: 6c 6c 20 62 65 20 75 73 65 66 75 6c 2c 0d 0a 20  ll be useful,.. 
0390: 20 20 20 20 20 20 62 75 74 20 57 49 54 48 4f 55        but WITHOU
03a0: 54 20 41 4e 59 20 57 41 52 52 41 4e 54 59 3b 20  T ANY WARRANTY; 
03b0: 77 69 74 68 6f 75 74 20 65 76 65 6e 20 74 68 65  without even the
03c0: 20 69 6d 70 6c 69 65 64 20 77 61 72 72 61 6e 74   implied warrant
03d0: 79 20 6f 66 0d 0a 20 20 20 20 20 20 20 4d 45 52  y of..       MER
03e0: 43 48 41 4e 54 41 42 49 4c 49 54 59 20 6f 72 20  CHANTABILITY or 
03f0: 46 49 54 4e 45 53 53 20 46 4f 52 20 41 20 50 41  FITNESS FOR A PA
0400: 52 54 49 43 55 4c 41 52 20 50 55 52 50 4f 53 45  RTICULAR PURPOSE
0410: 2e 0d 0a 2a 2f 0d 0a 0d 0a 70 72 69 76 61 74 65  ...*/....private
0420: 20 69 6d 70 6f 72 74 20 77 69 6e 33 32 2e 77 69   import win32.wi
0430: 6e 64 6f 77 73 3b 0d 0a 0d 0a 65 6e 75 6d 20 7b  ndows;....enum {
0440: 0d 0a 20 20 20 20 48 53 45 5f 56 45 52 53 49 4f  ..    HSE_VERSIO
0450: 4e 5f 4d 41 4a 4f 52 20 20 20 20 20 20 20 20 20  N_MAJOR         
0460: 20 20 20 20 20 20 3d 20 32 2c 0d 0a 20 20 20 20        = 2,..    
0470: 48 53 45 5f 56 45 52 53 49 4f 4e 5f 4d 49 4e 4f  HSE_VERSION_MINO
0480: 52 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20  R               
0490: 3d 20 30 2c 0d 0a 20 20 20 20 48 53 45 5f 4c 4f  = 0,..    HSE_LO
04a0: 47 5f 42 55 46 46 45 52 5f 4c 45 4e 20 20 20 20  G_BUFFER_LEN    
04b0: 20 20 20 20 20 20 20 20 20 20 3d 20 38 30 2c 0d            = 80,.
04c0: 0a 20 20 20 20 48 53 45 5f 4d 41 58 5f 45 58 54  .    HSE_MAX_EXT
04d0: 5f 44 4c 4c 5f 4e 41 4d 45 5f 4c 45 4e 20 20 20  _DLL_NAME_LEN   
04e0: 20 20 20 20 20 3d 20 32 35 36 2c 0d 0a 20 20 20       = 256,..   
04f0: 20 48 53 45 5f 53 54 41 54 55 53 5f 53 55 43 43   HSE_STATUS_SUCC
0500: 45 53 53 20 20 20 20 20 20 20 20 20 20 20 20 20  ESS             
0510: 20 3d 20 31 2c 0d 0a 20 20 20 20 48 53 45 5f 53   = 1,..    HSE_S
0520: 54 41 54 55 53 5f 53 55 43 43 45 53 53 5f 41 4e  TATUS_SUCCESS_AN
0530: 44 5f 4b 45 45 50 5f 43 4f 4e 4e 2c 0d 0a 20 20  D_KEEP_CONN,..  
0540: 20 20 48 53 45 5f 53 54 41 54 55 53 5f 50 45 4e    HSE_STATUS_PEN
0550: 44 49 4e 47 2c 0d 0a 20 20 20 20 48 53 45 5f 53  DING,..    HSE_S
0560: 54 41 54 55 53 5f 45 52 52 4f 52 2c 0d 0a 20 20  TATUS_ERROR,..  
0570: 20 20 48 53 45 5f 52 45 51 5f 42 41 53 45 20 20    HSE_REQ_BASE  
0580: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0590: 20 20 3d 20 30 2c 0d 0a 20 20 20 20 48 53 45 5f    = 0,..    HSE_
05a0: 52 45 51 5f 53 45 4e 44 5f 55 52 4c 5f 52 45 44  REQ_SEND_URL_RED
05b0: 49 52 45 43 54 5f 52 45 53 50 2c 0d 0a 20 20 20  IRECT_RESP,..   
05c0: 20 48 53 45 5f 52 45 51 5f 53 45 4e 44 5f 55 52   HSE_REQ_SEND_UR
05d0: 4c 2c 0d 0a 20 20 20 20 48 53 45 5f 52 45 51 5f  L,..    HSE_REQ_
05e0: 53 45 4e 44 5f 52 45 53 50 4f 4e 53 45 5f 48 45  SEND_RESPONSE_HE
05f0: 41 44 45 52 2c 0d 0a 20 20 20 20 48 53 45 5f 52  ADER,..    HSE_R
0600: 45 51 5f 44 4f 4e 45 5f 57 49 54 48 5f 53 45 53  EQ_DONE_WITH_SES
0610: 53 49 4f 4e 2c 0d 0a 20 20 20 20 48 53 45 5f 52  SION,..    HSE_R
0620: 45 51 5f 53 45 4e 44 5f 52 45 53 50 4f 4e 53 45  EQ_SEND_RESPONSE
0630: 5f 48 45 41 44 45 52 5f 45 58 20 3d 20 31 30 31  _HEADER_EX = 101
0640: 36 2c 0d 0a 20 20 20 20 48 53 45 5f 52 45 51 5f  6,..    HSE_REQ_
0650: 45 4e 44 5f 52 45 53 45 52 56 45 44 20 20 20 20  END_RESERVED    
0660: 20 20 20 20 20 20 20 20 3d 20 31 30 30 30 2c 0d          = 1000,.
0670: 0a 20 20 20 20 48 53 45 5f 54 45 52 4d 5f 41 44  .    HSE_TERM_AD
0680: 56 49 53 4f 52 59 5f 55 4e 4c 4f 41 44 20 20 20  VISORY_UNLOAD   
0690: 20 20 20 20 20 3d 20 30 78 30 30 30 30 30 30 30       = 0x0000000
06a0: 31 2c 0d 0a 20 20 20 20 48 53 45 5f 54 45 52 4d  1,..    HSE_TERM
06b0: 5f 4d 55 53 54 5f 55 4e 4c 4f 41 44 2c 0d 0a 20  _MUST_UNLOAD,.. 
06c0: 20 20 20 48 53 45 5f 49 4f 5f 53 59 4e 43 20 20     HSE_IO_SYNC  
06d0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
06e0: 20 20 20 3d 20 30 78 30 30 30 30 30 30 30 31 2c     = 0x00000001,
06f0: 0d 0a 20 20 20 20 48 53 45 5f 49 4f 5f 41 53 59  ..    HSE_IO_ASY
0700: 4e 43 2c 0d 0a 20 20 20 20 48 53 45 5f 49 4f 5f  NC,..    HSE_IO_
0710: 44 49 53 43 4f 4e 4e 45 43 54 5f 41 46 54 45 52  DISCONNECT_AFTER
0720: 5f 53 45 4e 44 20 20 20 20 3d 20 30 78 30 30 30  _SEND    = 0x000
0730: 30 30 30 30 34 2c 0d 0a 20 20 20 20 48 53 45 5f  00004,..    HSE_
0740: 49 4f 5f 53 45 4e 44 5f 48 45 41 44 45 52 53 20  IO_SEND_HEADERS 
0750: 20 20 20 20 20 20 20 20 20 20 20 20 3d 20 30 78              = 0x
0760: 30 30 30 30 30 30 30 38 0d 0a 7d 0d 0a 0d 0a 6d  00000008..}....m
0770: 69 78 69 6e 20 44 45 43 4c 41 52 45 5f 48 41 4e  ixin DECLARE_HAN
0780: 44 4c 45 21 28 22 48 43 4f 4e 4e 22 29 3b 0d 0a  DLE!("HCONN");..
0790: 0d 0a 73 74 72 75 63 74 20 48 53 45 5f 56 45 52  ..struct HSE_VER
07a0: 53 49 4f 4e 5f 49 4e 46 4f 20 7b 0d 0a 09 44 57  SION_INFO {...DW
07b0: 4f 52 44 20 64 77 45 78 74 65 6e 73 69 6f 6e 56  ORD dwExtensionV
07c0: 65 72 73 69 6f 6e 3b 0d 0a 09 43 48 41 52 5b 48  ersion;...CHAR[H
07d0: 53 45 5f 4d 41 58 5f 45 58 54 5f 44 4c 4c 5f 4e  SE_MAX_EXT_DLL_N
07e0: 41 4d 45 5f 4c 45 4e 5d 20 6c 70 73 7a 45 78 74  AME_LEN] lpszExt
07f0: 65 6e 73 69 6f 6e 44 65 73 63 3b 0d 0a 7d 0d 0a  ensionDesc;..}..
0800: 61 6c 69 61 73 20 48 53 45 5f 56 45 52 53 49 4f  alias HSE_VERSIO
0810: 4e 5f 49 4e 46 4f 2a 20 4c 50 48 53 45 5f 56 45  N_INFO* LPHSE_VE
0820: 52 53 49 4f 4e 5f 49 4e 46 4f 3b 0d 0a 0d 0a 73  RSION_INFO;....s
0830: 74 72 75 63 74 20 45 58 54 45 4e 53 49 4f 4e 5f  truct EXTENSION_
0840: 43 4f 4e 54 52 4f 4c 5f 42 4c 4f 43 4b 20 7b 0d  CONTROL_BLOCK {.
0850: 0a 09 44 57 4f 52 44 20 20 63 62 53 69 7a 65 20  ..DWORD  cbSize 
0860: 3d 20 45 58 54 45 4e 53 49 4f 4e 5f 43 4f 4e 54  = EXTENSION_CONT
0870: 52 4f 4c 5f 42 4c 4f 43 4b 2e 73 69 7a 65 6f 66  ROL_BLOCK.sizeof
0880: 3b 0d 0a 09 44 57 4f 52 44 20 20 64 77 56 65 72  ;...DWORD  dwVer
0890: 73 69 6f 6e 3b 0d 0a 09 48 43 4f 4e 4e 20 20 43  sion;...HCONN  C
08a0: 6f 6e 6e 49 44 3b 0d 0a 09 44 57 4f 52 44 20 20  onnID;...DWORD  
08b0: 64 77 48 74 74 70 53 74 61 74 75 73 43 6f 64 65  dwHttpStatusCode
08c0: 3b 0d 0a 09 43 48 41 52 5b 48 53 45 5f 4c 4f 47  ;...CHAR[HSE_LOG
08d0: 5f 42 55 46 46 45 52 5f 4c 45 4e 5d 20 6c 70 73  _BUFFER_LEN] lps
08e0: 7a 4c 6f 67 44 61 74 61 3b 0d 0a 09 4c 50 53 54  zLogData;...LPST
08f0: 52 20 20 6c 70 73 7a 4d 65 74 68 6f 64 3b 0d 0a  R  lpszMethod;..
0900: 09 4c 50 53 54 52 20 20 6c 70 73 7a 51 75 65 72  .LPSTR  lpszQuer
0910: 79 53 74 72 69 6e 67 3b 0d 0a 09 4c 50 53 54 52  yString;...LPSTR
0920: 20 20 6c 70 73 7a 50 61 74 68 49 6e 66 6f 3b 0d    lpszPathInfo;.
0930: 0a 09 4c 50 53 54 52 20 20 6c 70 73 7a 50 61 74  ..LPSTR  lpszPat
0940: 68 54 72 61 6e 73 6c 61 74 65 64 3b 0d 0a 09 44  hTranslated;...D
0950: 57 4f 52 44 20 20 63 62 54 6f 74 61 6c 42 79 74  WORD  cbTotalByt
0960: 65 73 3b 0d 0a 09 44 57 4f 52 44 20 20 63 62 41  es;...DWORD  cbA
0970: 76 61 69 6c 61 62 6c 65 3b 0d 0a 09 4c 50 42 59  vailable;...LPBY
0980: 54 45 20 6c 70 62 44 61 74 61 3b 0d 0a 09 4c 50  TE lpbData;...LP
0990: 53 54 52 20 20 6c 70 73 7a 43 6f 6e 74 65 6e 74  STR  lpszContent
09a0: 54 79 70 65 3b 0d 0a 09 65 78 74 65 72 6e 28 50  Type;...extern(P
09b0: 61 73 63 61 6c 29 20 42 4f 4f 4c 20 66 75 6e 63  ascal) BOOL func
09c0: 74 69 6f 6e 28 48 43 4f 4e 4e 2c 20 4c 50 53 54  tion(HCONN, LPST
09d0: 52 2c 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f  R, LPVOID, LPDWO
09e0: 52 44 29 0d 0a 09 20 20 47 65 74 53 65 72 76 65  RD)...  GetServe
09f0: 72 56 61 72 69 61 62 6c 65 3b 0d 0a 09 65 78 74  rVariable;...ext
0a00: 65 72 6e 28 50 61 73 63 61 6c 29 20 42 4f 4f 4c  ern(Pascal) BOOL
0a10: 20 66 75 6e 63 74 69 6f 6e 28 48 43 4f 4e 4e 2c   function(HCONN,
0a20: 20 4c 50 56 4f 49 44 2c 20 4c 50 44 57 4f 52 44   LPVOID, LPDWORD
0a30: 2c 20 44 57 4f 52 44 29 20 57 72 69 74 65 43 6c  , DWORD) WriteCl
0a40: 69 65 6e 74 3b 0d 0a 09 65 78 74 65 72 6e 28 50  ient;...extern(P
0a50: 61 73 63 61 6c 29 20 42 4f 4f 4c 20 66 75 6e 63  ascal) BOOL func
0a60: 74 69 6f 6e 28 48 43 4f 4e 4e 2c 20 4c 50 56 4f  tion(HCONN, LPVO
0a70: 49 44 2c 20 4c 50 44 57 4f 52 44 29 20 52 65 61  ID, LPDWORD) Rea
0a80: 64 43 6c 69 65 6e 74 3b 0d 0a 09 65 78 74 65 72  dClient;...exter
0a90: 6e 28 50 61 73 63 61 6c 29 20 42 4f 4f 4c 20 66  n(Pascal) BOOL f
0aa0: 75 6e 63 74 69 6f 6e 28 48 43 4f 4e 4e 2c 20 44  unction(HCONN, D
0ab0: 57 4f 52 44 2c 20 4c 50 56 4f 49 44 2c 20 4c 50  WORD, LPVOID, LP
0ac0: 44 57 4f 52 44 2c 20 4c 50 44 57 4f 52 44 29 0d  DWORD, LPDWORD).
0ad0: 0a 09 20 20 53 65 72 76 65 72 53 75 70 70 6f 72  ..  ServerSuppor
0ae0: 74 46 75 6e 63 74 69 6f 6e 3b 0d 0a 7d 0d 0a 61  tFunction;..}..a
0af0: 6c 69 61 73 20 45 58 54 45 4e 53 49 4f 4e 5f 43  lias EXTENSION_C
0b00: 4f 4e 54 52 4f 4c 5f 42 4c 4f 43 4b 2a 20 4c 50  ONTROL_BLOCK* LP
0b10: 45 58 54 45 4e 53 49 4f 4e 5f 43 4f 4e 54 52 4f  EXTENSION_CONTRO
0b20: 4c 5f 42 4c 4f 43 4b 3b 0d 0a 0d 0a 65 78 74 65  L_BLOCK;....exte
0b30: 72 6e 20 28 50 61 73 63 61 6c 29 20 7b 0d 0a 09  rn (Pascal) {...
0b40: 61 6c 69 61 73 20 42 4f 4f 4c 20 66 75 6e 63 74  alias BOOL funct
0b50: 69 6f 6e 28 48 53 45 5f 56 45 52 53 49 4f 4e 5f  ion(HSE_VERSION_
0b60: 49 4e 46 4f 2a 29 20 50 46 4e 5f 47 45 54 45 58  INFO*) PFN_GETEX
0b70: 54 45 4e 53 49 4f 4e 56 45 52 53 49 4f 4e 3b 0d  TENSIONVERSION;.
0b80: 0a 09 61 6c 69 61 73 20 44 57 4f 52 44 20 66 75  ..alias DWORD fu
0b90: 6e 63 74 69 6f 6e 28 45 58 54 45 4e 53 49 4f 4e  nction(EXTENSION
0ba0: 5f 43 4f 4e 54 52 4f 4c 5f 42 4c 4f 43 4b 2a 29  _CONTROL_BLOCK*)
0bb0: 20 50 46 4e 5f 48 54 54 50 45 58 54 45 4e 53 49   PFN_HTTPEXTENSI
0bc0: 4f 4e 50 52 4f 43 3b 0d 0a 09 61 6c 69 61 73 20  ONPROC;...alias 
0bd0: 42 4f 4f 4c 20 66 75 6e 63 74 69 6f 6e 28 44 57  BOOL function(DW
0be0: 4f 52 44 29 20 50 46 4e 5f 54 45 52 4d 49 4e 41  ORD) PFN_TERMINA
0bf0: 54 45 45 58 54 45 4e 53 49 4f 4e 3b 0d 0a 09 61  TEEXTENSION;...a
0c00: 6c 69 61 73 20 56 4f 49 44 20 66 75 6e 63 74 69  lias VOID functi
0c10: 6f 6e 28 45 58 54 45 4e 53 49 4f 4e 5f 43 4f 4e  on(EXTENSION_CON
0c20: 54 52 4f 4c 5f 42 4c 4f 43 4b 2a 2c 20 50 56 4f  TROL_BLOCK*, PVO
0c30: 49 44 2c 20 44 57 4f 52 44 2c 20 44 57 4f 52 44  ID, DWORD, DWORD
0c40: 29 20 50 46 4e 5f 48 53 45 5f 49 4f 5f 43 4f 4d  ) PFN_HSE_IO_COM
0c50: 50 4c 45 54 49 4f 4e 3b 0d 0a 7d 0d 0a 0d 0a 73  PLETION;..}....s
0c60: 74 72 75 63 74 20 48 53 45 5f 54 46 5f 49 4e 46  truct HSE_TF_INF
0c70: 4f 20 7b 0d 0a 09 50 46 4e 5f 48 53 45 5f 49 4f  O {...PFN_HSE_IO
0c80: 5f 43 4f 4d 50 4c 45 54 49 4f 4e 20 70 66 6e 48  _COMPLETION pfnH
0c90: 73 65 49 4f 3b 0d 0a 09 50 56 4f 49 44 20 20 70  seIO;...PVOID  p
0ca0: 43 6f 6e 74 65 78 74 3b 0d 0a 09 48 41 4e 44 4c  Context;...HANDL
0cb0: 45 20 68 46 69 6c 65 3b 0d 0a 09 4c 50 43 53 54  E hFile;...LPCST
0cc0: 52 20 70 73 7a 53 74 61 74 75 73 43 6f 64 65 3b  R pszStatusCode;
0cd0: 0d 0a 09 44 57 4f 52 44 20 20 42 79 74 65 73 54  ...DWORD  BytesT
0ce0: 6f 57 72 69 74 65 3b 0d 0a 09 44 57 4f 52 44 20  oWrite;...DWORD 
0cf0: 20 4f 66 66 73 65 74 3b 0d 0a 09 50 56 4f 49 44   Offset;...PVOID
0d00: 20 20 70 48 65 61 64 3b 0d 0a 09 44 57 4f 52 44    pHead;...DWORD
0d10: 20 20 48 65 61 64 4c 65 6e 67 74 68 3b 0d 0a 09    HeadLength;...
0d20: 50 56 4f 49 44 20 20 70 54 61 69 6c 3b 0d 0a 09  PVOID  pTail;...
0d30: 44 57 4f 52 44 20 20 54 61 69 6c 4c 65 6e 67 74  DWORD  TailLengt
0d40: 68 3b 0d 0a 09 44 57 4f 52 44 20 20 64 77 46 6c  h;...DWORD  dwFl
0d50: 61 67 73 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 48  ags;..}..alias H
0d60: 53 45 5f 54 46 5f 49 4e 46 4f 2a 20 4c 50 48 53  SE_TF_INFO* LPHS
0d70: 45 5f 54 46 5f 49 4e 46 4f 3b 0d 0a 0d 0a 73 74  E_TF_INFO;....st
0d80: 72 75 63 74 20 48 53 45 5f 53 45 4e 44 5f 48 45  ruct HSE_SEND_HE
0d90: 41 44 45 52 5f 45 58 5f 49 4e 46 4f 20 7b 0d 0a  ADER_EX_INFO {..
0da0: 09 4c 50 43 53 54 52 20 70 73 7a 53 74 61 74 75  .LPCSTR pszStatu
0db0: 73 3b 0d 0a 09 4c 50 43 53 54 52 20 70 73 7a 48  s;...LPCSTR pszH
0dc0: 65 61 64 65 72 3b 0d 0a 09 44 57 4f 52 44 20 20  eader;...DWORD  
0dd0: 63 63 68 53 74 61 74 75 73 3b 0d 0a 09 44 57 4f  cchStatus;...DWO
0de0: 52 44 20 20 63 63 68 48 65 61 64 65 72 3b 0d 0a  RD  cchHeader;..
0df0: 09 42 4f 4f 4c 20 20 20 66 4b 65 65 70 43 6f 6e  .BOOL   fKeepCon
0e00: 6e 3b 0d 0a 7d 0d 0a 61 6c 69 61 73 20 48 53 45  n;..}..alias HSE
0e10: 5f 53 45 4e 44 5f 48 45 41 44 45 52 5f 45 58 5f  _SEND_HEADER_EX_
0e20: 49 4e 46 4f 2a 20 4c 50 48 53 45 5f 53 45 4e 44  INFO* LPHSE_SEND
0e30: 5f 48 45 41 44 45 52 5f 45 58 5f 49 4e 46 3b 0d  _HEADER_EX_INF;.
0e40: 0a 0d 0a 65 78 74 65 72 6e 20 28 50 61 73 63 61  ...extern (Pasca
0e50: 6c 29 20 7b 0d 0a 09 42 4f 4f 4c 20 47 65 74 45  l) {...BOOL GetE
0e60: 78 74 65 6e 73 69 6f 6e 56 65 72 73 69 6f 6e 28  xtensionVersion(
0e70: 48 53 45 5f 56 45 52 53 49 4f 4e 5f 49 4e 46 4f  HSE_VERSION_INFO
0e80: 2a 29 3b 0d 0a 09 44 57 4f 52 44 20 48 74 74 70  *);...DWORD Http
0e90: 45 78 74 65 6e 73 69 6f 6e 50 72 6f 63 28 45 58  ExtensionProc(EX
0ea0: 54 45 4e 53 49 4f 4e 5f 43 4f 4e 54 52 4f 4c 5f  TENSION_CONTROL_
0eb0: 42 4c 4f 43 4b 2a 29 3b 0d 0a 09 42 4f 4f 4c 20  BLOCK*);...BOOL 
0ec0: 54 65 72 6d 69 6e 61 74 65 45 78 74 65 6e 73 69  TerminateExtensi
0ed0: 6f 6e 28 44 57 4f 52 44 29 3b 0d 0a 7d 0d 0a     on(DWORD);..}..