+/* $Id: lpcclt.c,v 1.5 2000/01/22 22:22:48 ea Exp $
+ *
+ * DESCRIPTION: Simple LPC Client
+ * PROGRAMMER: David Welch
+ */
#include <ddk/ntddk.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
+#include <stdlib.h>
HANDLE OutputHandle;
HANDLE InputHandle;
}
-void main(int argc, char* argv[])
+int main(int argc, char* argv[])
{
UNICODE_STRING PortName;
NTSTATUS Status;
RtlInitUnicodeString(&PortName, L"\\TestPort");
- printf("(lpcclt.exe) Connecting to port\n");
+ printf("(lpcclt.exe) Connecting to port \"\\TestPort\"\n");
ConnectInfoLength = 0;
Status = NtConnectPort(&PortHandle,
&PortName,
&ConnectInfoLength);
if (!NT_SUCCESS(Status))
{
- printf("(lpcclt.exe) Failed to connect\n");
- return;
+ printf("(lpcclt.exe) Failed to connect (Status = 0x%08X)\n", Status);
+ return EXIT_FAILURE;
}
strcpy(Request.MessageData, GetCommandLineA());
Request.ActualMessageLength = strlen(Request.MessageData);
Request.TotalMessageLength = sizeof(LPCMESSAGE);
- printf("(lpcclt.exe) Sending message\n");
+ printf("(lpcclt.exe) Sending message \"%s\"\n", (char *) Request.MessageData);
Status = NtRequestPort(PortHandle, &Request);
if (!NT_SUCCESS(Status))
{
- printf("(lpcclt.exe) Failed to send request\n");
- return;
+ printf("(lpcclt.exe) Failed to send request (Status = 0x%=8X)\n", Status);
+ return EXIT_FAILURE;
}
printf("(lpcclt.exe) Succeeded\n");
+ return EXIT_SUCCESS;
}
+/* $Id: lpcsrv.c,v 1.4 2000/01/22 22:22:48 ea Exp $
+ *
+ * DESCRIPTION: Simple LPC Server
+ * PROGRAMMER: David Welch
+ */
#include <ddk/ntddk.h>
#include <stdarg.h>
#include <string.h>
#include <stdio.h>
+#include <stdlib.h>
HANDLE OutputHandle;
HANDLE InputHandle;
}
-void main(int argc, char* argv[])
+int main(int argc, char* argv[])
{
UNICODE_STRING PortName;
OBJECT_ATTRIBUTES ObjectAttributes;
0);
if (!NT_SUCCESS(Status))
{
- printf("(lpcsrv.exe) Failed to create port\n");
- return;
+ printf("(lpcsrv.exe) Failed to create port (Status = 0x%08X)\n", Status);
+ return EXIT_FAILURE;
}
&ConnectMsg);
if (!NT_SUCCESS(Status))
{
- printf("(lpcsrv.exe) Failed to listen for connections\n");
- return;
+ printf("(lpcsrv.exe) Failed to listen for connections (Status = 0x%08X)\n", Status);
+ return EXIT_FAILURE;
}
printf("(lpcsrv.exe) Accepting connections\n");
NULL);
if (!NT_SUCCESS(Status))
{
- printf("(lpcsrv.exe) Failed to accept connection\n");
- return;
+ printf("(lpcsrv.exe) Failed to accept connection (Status = 0x%08X)\n", Status);
+ return EXIT_FAILURE;
}
printf("(lpcsrv.exe) Completing connection\n");
Status = NtCompleteConnectPort(PortHandle);
if (!NT_SUCCESS(Status))
{
- printf("(lpcsrv.exe) Failed to complete connection\n");
- return;
+ printf("(lpcsrv.exe) Failed to complete connection (Status = 0x%08X)\n", Status);
+ return EXIT_FAILURE;
}
for(;;)
&Request);
if (!NT_SUCCESS(Status))
{
- printf("(lpcsrv.exe) Failed to receive request\n");
- return;
+ printf("(lpcsrv.exe) Failed to receive request (Status = 0x%08X)\n", Status);
+ return EXIT_FAILURE;
}
printf("(lpcsrv.exe) Message contents are <%s>\n", Request.MessageData);
}
+ return EXIT_SUCCESS;
}
+
+
+/* EOF */