VERSION 1.0 CLASS BEGIN MultiUse = -1 'True END Attribute VB_Name = "dwPrintMonitor" Attribute VB_GlobalNameSpace = False Attribute VB_Creatable = False Attribute VB_PredeclaredId = False Attribute VB_Exposed = False ' Desaware API Class library ' Copyright (c) 1995-1997 by Desaware ' All rights reserved ' Preliminary demonstration edition Option Explicit Public pName$ ' Print monitor name Public pEnvironment$ ' Environment for monitor Public pDLLName$ ' DLL name of print monitor Public Level& Private Type MONITOR_INFO_1 pName As Long End Type Private Type MONITOR_INFO_2 pName As Long pEnvironment As Long pDLLName As Long End Type Public Sub LoadInfo(Buf As Byte, pLevel&, x&) Level = pLevel Select Case Level Case 1 LoadMonitorInfo1 Buf, x& Case 2 LoadMonitorInfo2 Buf, x& End Select End Sub Public Sub LoadMonitorInfo1(Buf As Byte, x&) Dim pi As MONITOR_INFO_1 Dim offset& Dim useaddr& offset& = x * Len(pi) useaddr& = agGetAddressForObject(Buf) + offset Call agCopyData(ByVal useaddr, pi, Len(pi)) If (pi.pName <> 0) Then pName = agGetStringFromPointer(pi.pName) End Sub Public Sub LoadMonitorInfo2(Buf As Byte, x&) Dim pi As MONITOR_INFO_2 Dim offset& Dim useaddr& offset& = x * Len(pi) useaddr& = agGetAddressForObject(Buf) + offset Call agCopyData(ByVal useaddr, pi, Len(pi)) If (pi.pName <> 0) Then pName = agGetStringFromPointer(pi.pName) If (pi.pEnvironment <> 0) Then pEnvironment = agGetStringFromPointer(pi.pEnvironment) If (pi.pDLLName <> 0) Then pDLLName = agGetStringFromPointer(pi.pDLLName) End Sub