1 /* $Id: lpcclt.c,v 1.5 2000/01/22 22:22:48 ea Exp $
3 * DESCRIPTION: Simple LPC Client
4 * PROGRAMMER: David Welch
15 void debug_printf(char* fmt
, ...)
21 vsprintf(buffer
,fmt
,args
);
22 WriteConsoleA(OutputHandle
, buffer
, strlen(buffer
), NULL
, NULL
);
27 int main(int argc
, char* argv
[])
29 UNICODE_STRING PortName
;
33 ULONG ConnectInfoLength
;
35 printf("(lpcclt.exe) Lpc client\n");
37 RtlInitUnicodeString(&PortName
, L
"\\TestPort");
39 printf("(lpcclt.exe) Connecting to port \"\\TestPort\"\n");
40 ConnectInfoLength
= 0;
41 Status
= NtConnectPort(&PortHandle
,
49 if (!NT_SUCCESS(Status
))
51 printf("(lpcclt.exe) Failed to connect (Status = 0x%08X)\n", Status
);
55 strcpy(Request
.MessageData
, GetCommandLineA());
56 Request
.ActualMessageLength
= strlen(Request
.MessageData
);
57 Request
.TotalMessageLength
= sizeof(LPCMESSAGE
);
59 printf("(lpcclt.exe) Sending message \"%s\"\n", (char *) Request
.MessageData
);
60 Status
= NtRequestPort(PortHandle
, &Request
);
61 if (!NT_SUCCESS(Status
))
63 printf("(lpcclt.exe) Failed to send request (Status = 0x%=8X)\n", Status
);
67 printf("(lpcclt.exe) Succeeded\n");