Option Compare Database
Option Explicit
Public gavntLoadRC() As Variant
Public Const gconSpace As String * 1 = " "
Public Const gconAppAdmin As String = "Administrator(in)"
Public Const gconUsers As String = gconSpace & "Bearbeiter/innen" & gconSpace
Public Const gconEMailMsg As String = "E-Mail Nachricht"
Public Const gconDBEnv As String = "Datenbankumgebung"
Private Const conIBM As String * 4 = "IBM" & gconSpace
Public Const gconZOS As String * 4 = "z/OS"
Public Const gconZOSHost As String = gconZOS & gconSpace & "Host"
Public Const gconZOSDB2Env As String = gconZOS & gconSpace & gconDBEnv
Public Const gconDB2 As String * 3 = "DB2"
Public Const gconAppName As String = gconDB2 & "DM"
Public Const gconAppTitle As String = gconAppName & gconSpace & "-" & gconSpace
Public Const gconAppErr As String = gconAppTitle & "Fehler:" & gconSpace
Public Const gconIBMDB2 As String = conIBM & gconDB2
Public Const gconIbmDb2Env As String = gconIBMDB2 & gconSpace & gconDBEnv
Public Const gconIBMZOS As String = conIBM & gconZOS
Public Const gconDataColls As String = gconSpace & "Data Collections" & gconSpace
Public Const gconBackslash As String * 1 = "\"
Private Const conSYS As String * 3 = "SYS"
Public Const gconFileNotFound As Integer = 53
Public Const gconPathNotFound As Integer = 76
Public Const gconDuplicateKey As Integer = 3022
Private Const conFrmRepAT As String * 2 = "AT"
Private Const conFrmRepHI As String * 2 = "HI"
Private Const conFrmRepUL As String * 2 = "UL"
Private Const conFrm As String = "frm" & gconAppName
Public Const gconFrmAT As String = conFrm & conFrmRepAT
Public Const gconFrmCE As String = conFrm & "CE"
Public Const gconFrmCF As String = conFrm & "CF"
Public Const gconFrmCI As String = conFrm & "CI"
Public Const gconFrmCJ As String = conFrm & "CJ"
Public Const gconFrmCM As String = conFrm & "CM"
Public Const gconFrmCMK As String = conFrm & "CMK"
Public Const gconFrmCS As String = conFrm & "CS"
Public Const gconFrmFS As String = conFrm & "FS"
Public Const gconFrmHI As String = conFrm & conFrmRepHI
Public Const gconFrmHM As String = conFrm & "HM"
Public Const gconFrmKY As String = conFrm & "KY"
Public Const gconFrmLI As String = conFrm & "LI"
Public Const gconFrmOD As String = conFrm & "OD"
Public Const gconFrmRJ As String = conFrm & "RJ"
Public Const gconFrmRP As String = conFrm & "RP"
Public Const gconFrmSE As String = conFrm & "SE"
Public Const gconFrmSR As String = conFrm & "SR"
Public Const gconFrmST As String = conFrm & "ST"
Public Const gconFrmSU As String = conFrm & "SU"
Public Const gconFrmTY As String = conFrm & "TY"
Public Const gconFrmUG As String = conFrm & "UG"
Public Const gconFrmUL As String = conFrm & conFrmRepUL
Public Const gconFrmUP As String = conFrm & "UP"
Private Const conRep As String = "rep" & gconAppName
Public Const gconRepAD As String = conRep & "AD"
Public Const gconRepAT As String = conRep & conFrmRepAT
Public Const gconRepCL As String = conRep & "CL"
Public Const gconRepDC As String = conRep & "DC"
Public Const gconRepDL As String = conRep & "DL"
Public Const gconRepEL As String = conRep & "EL"
Public Const gconRepHI As String = conRep & conFrmRepHI
Public Const gconRepLL As String = conRep & "LL"
Public Const gconRepUL As String = conRep & conFrmRepUL
Public Const gconlngDCIDFmt As String = "000000"
Public Const gcondateMinsSecs As String = "nn:ss"
Public Const gconTripleStop As String * 3 = "..."
Public Const gconPleaseWait As String = "Bitte warten" & gconSpace
Public Const gconDB2TablesAttribs As String = gconIBMDB2 & gconSpace & "Tabellen und Attribute"
Public Const gconTerminateApp As String = "Die Anwendung wird beendet!"
Public Const gconJobAborted As String = vbCrLf & vbCrLf & _
"Die Jobverarbeitung wurde abgebrochen!"
Public Const gconFrmWillClose As String = "Das Formular wird geschlossen"
Public Const gconCloseForm As String = "Formular schließen"
Public Const gconSelectAll As String = "(Alle)"
Public Const gconEurDate As String = "YYYY-MM-DD"
Public Const gconEurDateTime As String = gconEurDate & gconSpace & "HH:MM:SS"
Public Const gconFullStop As String * 1 = "."
Public Const gconUnderScore As String * 1 = "_"
Private Const conJCLLineInit As String * 2 = "//"
Public Const gconJCLCommentInit As String * 3 = conJCLLineInit & "*"
Public Const gconPunchLead As String = conJCLLineInit & gconSpace
Public Const gconJCLUser As String = gconPunchLead & "USER="
Public Const gconPunchRemark As String = conJCLLineInit & "*" & gconSpace
Private Const conDisposition As String = "DISP="
Private Const conUnit As String = ",UNIT=HSMP,SPACE=(TRK,"
Public Const gconDispShare As String = conDisposition & "SHR"
Public Const gconDispNew As String = conDisposition & "(NEW,CATLG)" & _
conUnit & "(10,10),RLSE)"
Public Const gconDispDel As String = conDisposition & "(MOD,DELETE,DELETE)" & _
conUnit & "(1))"
Public Const gconDEL As String * 3 = "DEL"
Public Const gconRC As String = gconFullStop & "RC"
Public Const gconDB2DEL As String = gconDB2 & gconDEL
Public Const gconDB2DELRC As String = gconDB2DEL & gconRC
Public Const gconDB2UNLOAD As String = gconDB2 & "UNLD"
Public Const gconPunchDelHeader As String = conJCLLineInit & _
gconDB2DEL & " EXEC PGM=IEFBR14"
Private Const conSysRec As String = conSYS & "REC"
Public Const gconSysRecLead As String = conJCLLineInit & conSysRec
Public Const gconSysRecMid As String = gconSpace & "DD DSN="
Public Const gconSysPunchLead As String = conJCLLineInit & conSYS & "PUNCH" & _
gconSysRecMid
Public Const gconDsnuProc As String = "DSNUPROC"
Public Const gconDsnuProcRC As String = gconDsnuProc & gconRC
Public Const gconDsnSysRecLead As String = conJCLLineInit & gconDsnuProc & _
gconFullStop & conSysRec
Public Const gconDsnSysInLead As String = conJCLLineInit & gconDsnuProc & _
gconFullStop & conSYS & "IN DD DSN="
Public Const gconUtil As String = "UTIL"
Public Const gconLoadUtilRC As String = gconUtil & gconFullStop & gconDsnuProcRC
Public Const gconDB2SQL2 As String = gconDB2 & "SQL2"
Public Const gconDB2SQL2RC As String = gconDB2SQL2 & gconRC
Public Const gconJCLComment As String = _
gconJCLCommentInit & "-----------------------------------------------------------*"
Public Const gconDeleteFrom As String = gconSpace & gconDEL & "ETE FROM" & gconSpace
Private Const conJob As String * 3 = "JOB"
Public Const gconLoadJob As String * 4 = "LOAD"
Public Const gconUnloadJob As String * 6 = "UN" & gconLoadJob
Public Const gconClearJob As String * 5 = "CLEAR"
Public Const gconDeleteJob As String * 6 = gconDEL & "ETE"
Public Const gconDelJCLJob As String * 6 = conJob & gconDEL
Private Const conLoadParamInit As String = "NOCOPYPEND" & gconSpace
Public Const gconLoadReplaceParam As String = conLoadParamInit & "REPLACE"
Public Const gconLoadAppendParam As String = conLoadParamInit & "RESUME YES"
Public gstrLoadJobParameter As String
Public Const gconSYSSAG As String * 6 = conSYS & "SAG"
Private Const conSysTables As String = conSYS & "TABLES"
Public Const gconIbmSysTable As String = gconSYSSAG & gconFullStop & conSysTables
Public Const gconAccIBMSysTable As String = gconSYSSAG & gconUnderScore & conSysTables
Public Const gconAccIBMSysCols As String = gconSYSSAG & gconUnderScore & conSYS & "COLUMNS"
Public Const gconSysRecs As String = conSYS & "RECS"
' Maximal zulässige Steuer-/Lochkarteneinträge
Public Const gconUnLoadMaxNo As Byte = 100
' Dateitypen
Private Const conFtp As String * 3 = "FTP"
Private Const conJCL As String * 3 = "JCL"
Private Const conFtpFile As String * 4 = gconFullStop & conFtp
Private Const conCmdFile As String * 4 = gconFullStop & "CMD"
Private Const conJclFile As String * 4 = gconFullStop & conJCL
Public Const gconIniFile As String * 4 = gconFullStop & "INI"
Public Const gconTmpFile As String * 4 = gconFullStop & "TMP"
' Maximal zulässige Anzahl Tabellen je JCL Script
Public Const gconMaxJCLTables As Integer = 900
' FTP Steuerungsdateien
Public Const gconINIT As String * 4 = "INIT"
Public Const gconOK As String * 2 = "OK"
Public Const gconFAIL As String * 4 = "FAIL"
Public Const gconGET As String * 3 = "GET"
Public Const gconPUT As String * 3 = "PUT"
Private Const conFtpJCLJob As String = conFtp & conJCL
Public Const gconFtpJCLJobCmd As String = conFtpJCLJob & conCmdFile
Public Const gconFtpJCLJobParam As String = conFtpJCLJob & conFtpFile
Public Const conFtpInit As String = conFtp & gconINIT
Public Const gconFtpInitCmd As String = conFtpInit & conCmdFile
Public Const gconFtpInitParam As String = conFtpInit & conFtpFile
Public Const conFtpOk As String = conFtp & gconOK
Public Const gconFtpOkCmd As String = conFtpOk & conCmdFile
Public Const gconFtpOkParam As String = conFtpOk & conFtpFile
Public Const conFtpFail As String = conFtp & gconFAIL
Public Const gconFtpFailCmd As String = conFtpFail & conCmdFile
Public Const gconFtpFailParam As String = conFtpFail & conFtpFile
Private Const conFtpDel As String = conFtp & gconDEL
Public Const gconFtpDelCmd As String = conFtpDel & conCmdFile
Public Const gconFtpDelParam As String = conFtpDel & conFtpFile
Private Const conFtpGet As String = conFtp & gconGET
Public Const gconFtpGetCmd As String = conFtpGet & conCmdFile
Public Const gconFtpGetParam As String = conFtpGet & conFtpFile
Private Const conFtpPut As String = conFtp & gconPUT
Public Const gconFtpPutCmd As String = conFtpPut & conCmdFile
Public Const gconFtpPutParam As String = conFtpPut & conFtpFile
Private Const conFtpGetRc As String = conFtp & gconGET & "RC"
Public Const gconFtpGetRcCmd As String = conFtpGetRc & conCmdFile
Public Const gconFtpGetRcParam As String = conFtpGetRc & conFtpFile
Private Const conDelJCLJobName As String = gconDelJCLJob
Private Const conFtpDelJob As String = conFtp & conDelJCLJobName
Public Const gconFtpDelJobCmd As String = conFtpDelJob & conCmdFile
Public Const gconFtpDelJobParam As String = conFtpDelJob & conFtpFile
' Dateiname des JCL Files vor Anpassung der JCL Scriptvariablen
Public Const gconJCLFileGen As String = conJCL & "Gen" & conJclFile
' Dateiname des JCL Files nach Anpassung der JCL Scriptvariablen
Public Const gconJCLFileMod As String = conJCL & "Mod" & conJclFile
Private Const conLoadFile As String = "LDAFILE" & gconFullStop
' Dateiname des vom Host geladenen Loadfiles
Public Const gconLoadFileGet As String = conLoadFile & gconGET
' Dateiname des modifizierten Loadfiles
Public Const gconLoadFilePut As String = conLoadFile & gconPUT
' Name des JCL Scripts auf dem Host
Public Const gconJCLJobName As String = conJCL & conJclFile
' Dateiname des JCL Delete Job Output Scripts auf dem Host
Public Const gconDelJCLJobHost As String = conDelJCLJobName & conJclFile
' Name des Delete Job Output JCL Scripts auf dem Host
Public Const gconDelJCLJobPC As String = gconDelJCLJobHost
' Verketten Temp Verzeichnis und Dateiname
Public gstrTempDir As String
Public gstrJCLFileGen As String
Public gstrJCLFileMod As String
Public gstrLoadFileGet As String
Public gstrLoadFileMod As String
Public gstrDelJCLJobPC As String
Public gstrFtpJCLJobCmd As String
Public gstrFtpJCLJobParam As String
Public gstrFtpOkCmd As String
Public gstrFtpOkParam As String
Public gstrFtpFailCmd As String
Public gstrFtpFailParam As String
Public gstrFtpInitCmd As String
Public gstrFtpInitParam As String
Public gstrFtpDelCmd As String
Public gstrFtpDelParam As String
Public gstrFtpGetCmd As String
Public gstrFtpGetParam As String
Public gstrFtpPutCmd As String
Public gstrFtpPutParam As String
Public gstrFtpGetRcCmd As String
Public gstrFtpGetRcParam As String
Public gstrFtpDelJobCmd As String
Public gstrFtpDelJobParam As String
' In JCL Templates zu ersetzende Platzhalter
Private Const conNum As String * 1 = "#"
Private Const conFullStopNumSym As String = gconFullStop & conNum
Private Const conNumDB2 As String = conNum & gconDB2
Public Const gconDefHostID As String = conNum & "HID" & conNum
Public Const gconDB2JobName As String = conNumDB2 & conJob & "NAME" & conNum
Public Const gconDB2JobTyp As String = conNumDB2 & conJob & "TYPE" & conNum
Public Const gconDB2Job As String = conNumDB2 & conJob & conNum
Public Const gconDB2ODBC As String = conNumDB2 & "ODBC" & conNum
Public Const gconODBCCnn As String = conNum & "ODBCCnn" & conNum
Public Const gconDB2Qual As String = conNumDB2 & "QUAL" & conFullStopNumSym
Public Const gconJobInit As String = conFullStopNumSym & conJob & gconINIT & conNum
Public Const gconJobOK As String = conFullStopNumSym & conJob & gconOK & conNum
Public Const gconJobFail As String = conFullStopNumSym & conJob & gconFAIL & conNum
Public Const gconDelJobOutpExecCmd As String = conNum & "EXECDELJOBOUTPUT" & conNum
Public Const gconSearchExecCmd As String = conNum & "SEARCHEXECCMD" & conNum
' Start Step: Auswertung Return Code(s) - Laden einer Data Collection
Public Const gconRCStartStep As Integer = 5
' Messageboxen: Standardschaltfläche(n) und -symbol(e)
Public Const gconOkExcStyle As Integer = vbOKOnly + vbExclamation
Public Const gconOkInfStyle As Integer = vbOKOnly + vbInformation
Public Const gconOkCritStyle As Integer = vbOKOnly + vbCritical
Public Const gconYNQuestStyle As Integer = vbYesNo + vbQuestion
Public Const gconYNCritStyle As Integer = vbYesNo + vbCritical
Public Const gconYNInfStyle As Integer = vbYesNo + vbInformation
Public Const gconYNDef2InfStyle As Integer = gconYNInfStyle + vbDefaultButton2
Public Const gconYNDef1QuestStyle As Integer = gconYNQuestStyle + vbDefaultButton1
Public Const gconYNDef2QuestStyle As Integer = gconYNQuestStyle + vbDefaultButton2
Public Const gconYNCanDef1QuStyle As Integer = vbYesNoCancel + vbQuestion + vbDefaultButton1
Public Const gconYNCanDef3QuStyle As Integer = vbYesNoCancel + vbQuestion + vbDefaultButton3
Public Const gconYNDef2ExcStyle As Integer = vbYesNo + vbExclamation + vbDefaultButton2
Public Const gconForeColor As Long = 8421504
' Schnellzugriffstasten
Private Const conAlt As String = "(Alt+"
Private Const conCtl As String = "(Strg+"
Public Const gconCtlZ As String = conCtl & "Z)"
Public Const gconCtlF4 As String = conCtl & "F4)"
Public Const gconAltA As String = conAlt & "A)"
Public Const gconAltB As String = conAlt & "B)"
Public Const gconAltE As String = conAlt & "E)"
Public Const gconAltF As String = conAlt & "F)"
Public Const gconAltG As String = conAlt & "G)"
Public Const gconAltI As String = conAlt & "I)"
Public Const gconAltL As String = conAlt & "L)"
Public Const gconAltN As String = conAlt & "N)"
Public Const gconAltR As String = conAlt & "R)"
Public Const gconAltS As String = conAlt & "S)"
Public Const gconAltT As String = conAlt & "T)"
Public Const gconAltU As String = conAlt & "U)"
Public Const gconAltV As String = conAlt & "V)"
Public Const gconAltX As String = conAlt & "X)"
Public Const gconAltY As String = conAlt & "Y)"
Public Const gconAltZ As String = conAlt & "Z)"
' WINAPI Sleep Standardwartezeit in Millisekunden
Public Const gconSleep As Integer = 500
' Konstante für WinAPI Funktion SendMessage
Public Const WM_CLOSE = &H10
Public Type POINTAPI
X As Long
Y As Long
End Type
Public Type Rect
Left As Long
Top As Long
Right As Long
Bottom As Long
End Type
Public Type WINDOWPLACEMENT
Length As Long
Flags As Long
ShowCmd As Long
ptMinPosition As POINTAPI
ptMaxPosition As POINTAPI
rcNormalPosition As Rect
End Type
Public Const GW_CHILD As Integer = 5
Public Const GW_HWNDNEXT As Integer = 2
Public Type OPENFILENAME
lStructSize As Long
hwndOwner As Long
hInstance As Long
lpstrFilter As String
lpstrCustomFilter As String
nMaxCustFilter As Long
nFilterIndex As Long
lpstrFile As String
nMaxFile As Long
lpstrFileTitle As String
nMaxFileTitle As Long
lpstrInitialDir As String
lpstrTitle As String
Flags As Long
nFileOffset As Integer
nFileExtension As Integer
lpstrDefExt As String
lCustData As Long
lpfnHook As Long
lpTemplateName As Long
End Type
' Mindestauflösung des Bildschirms
Public Const gconMinScreenWidth As Integer = 1024
Public Const gconMinScreenHeight As Integer = 768
Public Type ParentWindowData
lngWidth As Long
lngHeight As Long
lngTop As Long
lngBottom As Long
lngLeft As Long
lngRight As Long
End Type
Public ParentWindow As ParentWindowData
Public Type ChildWindowData
lngWidth As Long
lngHeight As Long
End Type
Public ChildWindow As ChildWindowData
Type DEVMODE
dmDeviceName As String * 32
dmSpecVersion As Integer
dmDriverVersion As Integer
dmSize As Integer
dmDriverExtra As Integer
dmFields As Long
dmOrientation As Integer
dmPaperSize As Integer
dmPaperLength As Integer
dmPaperWidth As Integer
dmScale As Integer
dmCopies As Integer
dmDefaultSource As Integer
dmPrintQuality As Integer
dmColor As Integer
dmDuplex As Integer
dmYResolution As Integer
dmTTOption As Integer
dmCollate As Integer
dmFormName As String * 32
dmUnusedPadding As Integer
dmBitsPerPixel As Integer
dmPelsWidth As Long
dmPelsHeight As Long
dmDisplayFlags As Long
dmDisplayFrequency As Long
' Die nachfolgenden Variablen existieren nur in Windows 95, 98 und 2000
dmICMMethod As Long
dmICMIntent As Long
dmMediaType As Long
dmDitherType As Long
dmReserved1 As Long
dmReserved2 As Long
' Die nachfolgenden Variablen existieren nur in Windows 2000 und höher
dmPanningWidth As Long
dmPanningHeight As Long
End Type
Public Const ENUM_CURRENT_SETTINGS = -1
Public Const CDS_UPDATEREGISTRY = &H1
Public Const CDS_TEST = &H2
Public Const DISP_CHANGE_SUCCESSFUL = 0
Public Const DISP_CHANGE_RESTART = 1
Public Const EWX_REBOOT = &H2
Public Type OSVERSIONINFO
dwOSVersionInfoSize As Long
dwMajorVersion As Long
dwMinorVersion As Long
dwBuildNumber As Long
dwPlatformId As Long
szCSDVersion As String * 128
End Type
Public Const VER_PLATFORM_WIN32_WINDOWS As Integer = 1 ' Windows 9x
Public Const VER_PLATFORM_WIN32_NT As Integer = 2 ' Windows NT und höher
Public gstrHostID As String
Public gstrHostPwd As String
Public gstrWinUserID As String
Public gstrSysPunch As String
Public gstrDB2SourceQualifier As String ' Qualifier: DB2 Quellumgebung
Public gstrDB2TargetQualifier As String ' Qualifier: DB2 Zielumgebung
Public gstrDataSet As String ' Data Set/Typ
Public gstrComputerName As String
Public gboolEnvSelected As Boolean
Public gstrZielUmgebung As String
Public gintNumTables As Integer
Public gboolHostPWExpired As Boolean
Public gboolAllUsers As Boolean
Public gstrWorkGroup As String
Public gboolJobTimeOut As Boolean
Public gboolJobInitiated As Boolean
Public gstrDeleteEnv As String
Public gboolLoadRCFour As Boolean
Public gboolLoadRCEight As Boolean
Public glngNumKeys As Long
Public gboolJobActive As Boolean
Public gstrJobTyp As String
Public Declare Sub Sleep _
Lib "kernel32.dll" (ByVal dwMilliseconds As Long)
Public Declare Function SendMessage _
Lib "user32.dll" _
Alias "SendMessageA" (ByVal hWnd As Long, _
ByVal Msg As Long, _
wParam As Any, _
lParam As Any) As Long
Public Declare Function FindWindow _
Lib "user32.dll" _
Alias "FindWindowA" (ByVal lpClassName As String, _
ByVal lpWindowName As String) As Long
Public Declare Function GetUserName _
Lib "advapi32.dll" _
Alias "GetUserNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Public Declare Function GetComputerName _
Lib "kernel32.dll" _
Alias "GetComputerNameA" (ByVal lpBuffer As String, _
nSize As Long) As Long
Public Declare Function OpenProcess _
Lib "kernel32.dll" (ByVal dwDesiredAccess As Long, _
ByVal bInheritHandle As Long, _
ByVal dwProcessId As Long) As Long
Public Declare Function WaitForSingleObject _
Lib "kernel32.dll" (ByVal hHandle As Long, _
ByVal dwMilliseconds As Long) As Long
Public Declare Function CloseHandle _
Lib "kernel32.dll" (ByVal hObject As Long) As Long
Public Declare Function GetClassName _
Lib "user32.dll" _
Alias "GetClassNameA" (ByVal hWnd As Long, _
ByVal lpClassName As String, _
ByVal nMaxCount As Long) As Long
Public Declare Function GetWindow _
Lib "user32.dll" (ByVal hWnd As Long, _
ByVal wCmd As Long) As Long
Public Declare Function GetWindowPlacement _
Lib "user32.dll" (ByVal hWnd As Long, _
lpwndpl As WINDOWPLACEMENT) As Long
Public Declare Function SetWindowPlacement _
Lib "user32.dll" (ByVal hWnd As Long, _
lpwndpl As WINDOWPLACEMENT) As Long
Public Declare Function GetOpenFileName _
Lib "comdlg32.dll" _
Alias "GetOpenFileNameA" (pOpenfilename As OPENFILENAME) As Long
Public Declare Function GetSystemMetrics _
Lib "user32.dll" (ByVal IndIndex As Long) As Long
Public Declare Function EnumDisplaySettings _
Lib "user32.dll" _
Alias "EnumDisplaySettingsA" (ByVal lpszDeviceName As String, _
ByVal iModeNum As Long, _
lpDevMode As DEVMODE) As Long
Public Declare Function ChangeDisplaySettings _
Lib "user32.dll" _
Alias "ChangeDisplaySettingsA" (lpDevMode As Any, _
ByVal dwFlags As Long) As Long
Public Declare Function RestartDialog _
Lib "shell32.dll" _
Alias "#59" (ByVal hwndOwner As Long, _
ByVal lpstrReason As String, _
ByVal uFlags As Long) As Long
Public Declare Function GetVersionEx _
Lib "kernel32.dll" _
Alias "GetVersionExA" (lpVersionInformation As OSVERSIONINFO) As Long
Public Declare Function GetTempPath _
Lib "kernel32.dll" _
Alias "GetTempPathA" (ByVal nBufferLength As Long, _
ByVal lpBuffer As String) As Long