home *** CD-ROM | disk | FTP | other *** search
/ The World of Computer Software / World_Of_Computer_Software-02-385-Vol-1of3.iso / n / netprn.zip / NETPRNQW.INC < prev    next >
Text File  |  1992-10-05  |  962b  |  47 lines

  1. {
  2.   NETPRNQW.INC 1.0
  3. }
  4. function GetPrinterQueue(LPTDevice : Byte; var printQueueID : LongInt) : Byte;
  5. type
  6.   TRequest =
  7.     record
  8.       Size : Word;
  9.       SubF : Byte;
  10.       LPTD : Byte;
  11.     end;
  12.   TReply =
  13.     record
  14.       Size : Word;
  15.       ID   : LongInt;
  16.     end;
  17. var
  18.   Request : ^TRequest;
  19.   Reply   : ^TReply;
  20.   NovRegs : Registers;
  21.   S, P : Pointer;
  22. begin
  23.   GetPrinterQueue := DPMIErrorVal;
  24.   if not GetRealModeMem(SizeOf(TRequest)+SizeOf(TReply), S, P) then exit;
  25.   Request := P;
  26.   Reply := P;
  27.   Inc(Word(Reply), SizeOf(TRequest));
  28.   Reply^.Size := 4;
  29.   with Request^ do begin
  30.     Size := 2;
  31.     SubF := $0A;
  32.     LPTD := LPTDevice;
  33.   end;
  34.   with NovRegs do begin
  35.     AH := $E0;
  36.     DS := SegOfs(S).Segm;
  37.     SI := 0;
  38.     ES := SegOfs(S).Segm;
  39.     DI := SizeOf(TRequest);
  40.     WinIntr($21, NovRegs);
  41.     GetPrinterQueue := AL;
  42.   end;
  43.   printQueueID := NetWareSwapLong(Reply^.ID);
  44.   FreeRealModeMem(P);
  45. end;
  46.  
  47.