Hex Artifact Content

Not logged in

Artifact 4a6a27a65a3145c66ca3e9b986c0fe34a0b05778:


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 0a 2a 20 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 6c 6d 6d 73 67             lmmsg
0070: 2e 64 20 20 20 20 20 20 20 20 20 20 20 20 20 20  .d              
0080: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0090: 20 20 2a 0a 2a 20 20 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 2a 0a 2a 20              *.* 
00e0: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
00f0: 20 20 20 20 20 20 57 69 6e 64 6f 77 73 20 41 50        Windows AP
0100: 49 20 68 65 61 64 65 72 20 6d 6f 64 75 6c 65 20  I header module 
0110: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20 20                  
0120: 20 20 20 20 20 20 2a 0a 2a 20 20 20 20 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: 2a 0a 2a 20 20 20 20 20 20 20 20 20 20 20 20 20  *.*             
0180: 20 20 20 20 54 72 61 6e 73 6c 61 74 65 64 20 66      Translated f
0190: 72 6f 6d 20 4d 69 6e 47 57 20 57 69 6e 64 6f 77  rom MinGW Window
01a0: 73 20 68 65 61 64 65 72 73 20 20 20 20 20 20 20  s headers       
01b0: 20 20 20 20 20 20 20 20 20 20 2a 0a 2a 20 20 20            *.*   
01c0: 20 20 20 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 2a 0a 2a 20 20 20 20 20 20 20 20 20      *.*         
0210: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 50 6c                Pl
0220: 61 63 65 64 20 69 6e 74 6f 20 70 75 62 6c 69 63  aced into public
0230: 20 64 6f 6d 61 69 6e 20 20 20 20 20 20 20 20 20   domain         
0240: 20 20 20 20 20 20 20 20 20 20 20 20 20 20 2a 0a                *.
0250: 5c 2a 2a 2a 2a 2a 2a 2a 2a 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 2f 0a 6d 6f 64 75 6c 65  ********/.module
02a0: 20 77 69 6e 33 32 2e 6c 6d 6d 73 67 3b 0a 70 72   win32.lmmsg;.pr
02b0: 61 67 6d 61 28 6c 69 62 2c 20 22 6e 65 74 61 70  agma(lib, "netap
02c0: 69 33 32 2e 6c 69 62 22 29 3b 0a 0a 70 72 69 76  i32.lib");..priv
02d0: 61 74 65 20 69 6d 70 6f 72 74 20 77 69 6e 33 32  ate import win32
02e0: 2e 6c 6d 63 6f 6e 73 2c 20 77 69 6e 33 32 2e 77  .lmcons, win32.w
02f0: 69 6e 64 65 66 2c 20 77 69 6e 33 32 2e 77 33 32  indef, win32.w32
0300: 61 70 69 3b 0a 0a 73 74 61 74 69 63 20 61 73 73  api;..static ass
0310: 65 72 74 20 28 5f 57 49 4e 33 32 5f 57 49 4e 4e  ert (_WIN32_WINN
0320: 54 5f 4f 4e 4c 59 20 26 26 20 5f 57 49 4e 33 32  T_ONLY && _WIN32
0330: 5f 57 49 4e 4e 54 20 3e 3d 20 30 78 35 30 31 2c  _WINNT >= 0x501,
0340: 0a 09 22 77 69 6e 33 32 2e 6c 6d 6d 73 67 20 69  .."win32.lmmsg i
0350: 73 20 61 76 61 69 6c 61 62 6c 65 20 6f 6e 6c 79  s available only
0360: 20 69 66 20 76 65 72 73 69 6f 6e 20 57 69 6e 64   if version Wind
0370: 6f 77 73 58 50 2c 20 57 69 6e 64 6f 77 73 32 30  owsXP, Windows20
0380: 30 33 20 22 0a 09 22 6f 72 20 57 69 6e 64 6f 77  03 ".."or Window
0390: 73 56 69 73 74 61 20 69 73 20 73 65 74 22 29 3b  sVista is set");
03a0: 0a 0a 63 6f 6e 73 74 20 4d 53 47 4e 41 4d 45 5f  ..const MSGNAME_
03b0: 4e 4f 54 5f 46 4f 52 57 41 52 44 45 44 20 20 3d  NOT_FORWARDED  =
03c0: 20 30 3b 0a 63 6f 6e 73 74 20 4d 53 47 4e 41 4d   0;.const MSGNAM
03d0: 45 5f 46 4f 52 57 41 52 44 45 44 5f 54 4f 20 20  E_FORWARDED_TO  
03e0: 20 3d 20 34 3b 0a 63 6f 6e 73 74 20 4d 53 47 4e   = 4;.const MSGN
03f0: 41 4d 45 5f 46 4f 52 57 41 52 44 45 44 5f 46 52  AME_FORWARDED_FR
0400: 4f 4d 20 3d 20 31 36 3b 0a 0a 73 74 72 75 63 74  OM = 16;..struct
0410: 20 4d 53 47 5f 49 4e 46 4f 5f 30 20 7b 0a 09 4c   MSG_INFO_0 {..L
0420: 50 57 53 54 52 20 6d 73 67 69 30 5f 6e 61 6d 65  PWSTR msgi0_name
0430: 3b 0a 7d 0a 61 6c 69 61 73 20 4d 53 47 5f 49 4e  ;.}.alias MSG_IN
0440: 46 4f 5f 30 2a 20 50 4d 53 47 5f 49 4e 46 4f 5f  FO_0* PMSG_INFO_
0450: 30 2c 20 4c 50 4d 53 47 5f 49 4e 46 4f 5f 30 3b  0, LPMSG_INFO_0;
0460: 0a 0a 73 74 72 75 63 74 20 4d 53 47 5f 49 4e 46  ..struct MSG_INF
0470: 4f 5f 31 20 7b 0a 09 4c 50 57 53 54 52 20 6d 73  O_1 {..LPWSTR ms
0480: 67 69 31 5f 6e 61 6d 65 3b 0a 09 44 57 4f 52 44  gi1_name;..DWORD
0490: 20 6d 73 67 69 31 5f 66 6f 72 77 61 72 64 5f 66   msgi1_forward_f
04a0: 6c 61 67 3b 0a 09 4c 50 57 53 54 52 20 6d 73 67  lag;..LPWSTR msg
04b0: 69 31 5f 66 6f 72 77 61 72 64 3b 0a 7d 0a 61 6c  i1_forward;.}.al
04c0: 69 61 73 20 4d 53 47 5f 49 4e 46 4f 5f 31 2a 20  ias MSG_INFO_1* 
04d0: 50 4d 53 47 5f 49 4e 46 4f 5f 31 2c 20 4c 50 4d  PMSG_INFO_1, LPM
04e0: 53 47 5f 49 4e 46 4f 5f 31 3b 0a 0a 65 78 74 65  SG_INFO_1;..exte
04f0: 72 6e 20 28 57 69 6e 64 6f 77 73 29 20 7b 0a 09  rn (Windows) {..
0500: 4e 45 54 5f 41 50 49 5f 53 54 41 54 55 53 20 4e  NET_API_STATUS N
0510: 65 74 4d 65 73 73 61 67 65 42 75 66 66 65 72 53  etMessageBufferS
0520: 65 6e 64 28 4c 50 43 57 53 54 52 2c 20 4c 50 43  end(LPCWSTR, LPC
0530: 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c 20 50  WSTR, LPCWSTR, P
0540: 42 59 54 45 2c 0a 09 20 20 44 57 4f 52 44 29 3b  BYTE,..  DWORD);
0550: 0a 09 4e 45 54 5f 41 50 49 5f 53 54 41 54 55 53  ..NET_API_STATUS
0560: 20 4e 65 74 4d 65 73 73 61 67 65 4e 61 6d 65 41   NetMessageNameA
0570: 64 64 28 4c 50 43 57 53 54 52 2c 20 4c 50 43 57  dd(LPCWSTR, LPCW
0580: 53 54 52 29 3b 0a 09 4e 45 54 5f 41 50 49 5f 53  STR);..NET_API_S
0590: 54 41 54 55 53 20 4e 65 74 4d 65 73 73 61 67 65  TATUS NetMessage
05a0: 4e 61 6d 65 44 65 6c 28 4c 50 43 57 53 54 52 2c  NameDel(LPCWSTR,
05b0: 20 4c 50 43 57 53 54 52 29 3b 0a 09 4e 45 54 5f   LPCWSTR);..NET_
05c0: 41 50 49 5f 53 54 41 54 55 53 20 4e 65 74 4d 65  API_STATUS NetMe
05d0: 73 73 61 67 65 4e 61 6d 65 45 6e 75 6d 28 4c 50  ssageNameEnum(LP
05e0: 43 57 53 54 52 2c 20 44 57 4f 52 44 2c 20 50 42  CWSTR, DWORD, PB
05f0: 59 54 45 2a 2c 20 44 57 4f 52 44 2c 20 50 44 57  YTE*, DWORD, PDW
0600: 4f 52 44 2c 0a 09 20 20 50 44 57 4f 52 44 2c 20  ORD,..  PDWORD, 
0610: 50 44 57 4f 52 44 29 3b 0a 09 4e 45 54 5f 41 50  PDWORD);..NET_AP
0620: 49 5f 53 54 41 54 55 53 20 4e 65 74 4d 65 73 73  I_STATUS NetMess
0630: 61 67 65 4e 61 6d 65 47 65 74 49 6e 66 6f 28 4c  ageNameGetInfo(L
0640: 50 43 57 53 54 52 2c 20 4c 50 43 57 53 54 52 2c  PCWSTR, LPCWSTR,
0650: 20 44 57 4f 52 44 2c 20 50 42 59 54 45 2a 29 3b   DWORD, PBYTE*);
0660: 0a 7d 0a                                         .}.