FrymasterVB/DWPRMON.CLS

66 lines
1.7 KiB
Plaintext

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