This sample code creates a queue on the local workstation. The queue is created with dummy parameters. The name is entered at the command line.
#define INCL_BASE #define INCL_SPL #define INCL_SPLDOSPRINT #include <os2.h> #include <stdio.h> #include <string.h> INT main (argc, argv ) INT argc; CHAR *argv[]; { ULONG splerr ; ULONG cbBuf; ULONG ulLevel ; PSZ pszComputerName ; PSZ pszQueueName ; PRQINFO3 prq3 ; if (argc != 2) { printf("Syntax: sqcrt QueueName \n"); DosExit( EXIT_PROCESS , 0 ) ; } pszComputerName = (PSZ)NULL ; ulLevel = 3L; /* Get the queue name from the argument entered at */ /* the command line. */ pszQueueName = argv[1]; /* Determine the size of the needed buffer. */ cbBuf = sizeof(PRQINFO3); /* Set up the structure with some dummy parameters. */ prq3.pszName = pszQueueName; prq3.uPriority=5; prq3.uStartTime=0; prq3.uUntilTime=0; prq3.pszSepFile="c:\\os2\\sample.sep"; prq3.pszParms=NULL; prq3.pszPrinters=NULL; prq3.pszDriverName=NULL; prq3.pDriverData="IBMNULL"; /* Set to Driver.Device name */ /* Make the call with the proper parameters. */ splerr = SplCreateQueue(pszComputerName, ulLevel, &prq3, cbBuf); /* Print out the error return code and some other information. */ printf("SplCreateQueue Error=%ld, cbNeeded=%ld\n", splerr, cbBuf) ; DosExit( EXIT_PROCESS , 0 ) ; return (splerr); }