home *** CD-ROM | disk | FTP | other *** search
/ Planet Source Code Jumbo …e CD Visual Basic 1 to 7 / 6_2008-2009.ISO / data / zips / EliteXp®_P21651610152009.psc / NTHeader.cls < prev    next >
Text File  |  2009-10-15  |  2KB  |  74 lines

  1. VERSION 1.0 CLASS
  2. BEGIN
  3.   MultiUse = -1  'True
  4.   Persistable = 0  'NotPersistable
  5.   DataBindingBehavior = 0  'vbNone
  6.   DataSourceBehavior  = 0  'vbNone
  7.   MTSTransactionMode  = 0  'NotAnMTSObject
  8. END
  9. Attribute VB_Name = "NTHeader"
  10. Attribute VB_GlobalNameSpace = False
  11. Attribute VB_Creatable = True
  12. Attribute VB_PredeclaredId = False
  13. Attribute VB_Exposed = False
  14. Dim st As IMAGE_NT_HEADERS, fOwner As PE
  15. Private Type Objects
  16.     FileHeader As FileHeader
  17.     OptionalHeader As OptionalHeader
  18. End Type
  19. Dim Objs As Objects
  20. Friend Property Get Struct() As IMAGE_NT_HEADERS
  21. Struct = st
  22. End Property
  23. Friend Property Let Struct(n As IMAGE_NT_HEADERS)
  24. st = n
  25. End Property
  26. Friend Sub SetOwner(cOwner As PE)
  27. Set fOwner = cOwner
  28. End Sub
  29. Friend Property Get Owner() As PE
  30. Set Owner = fOwner
  31. End Property
  32. '***********************************************************************
  33. '**********Common Routines For Memory Mapping**************************
  34. Property Get Length() As Long
  35. Length = Len(st)
  36. End Property
  37. Property Get Pointer() As Long
  38. Pointer = VarPtr(st)
  39. End Property
  40. Function Fill(ByVal hMem As Long) As Boolean
  41. On Error Resume Next
  42. If IsBadCodePtr(hMem) Then Exit Function
  43. CopyMemory ByVal Pointer, ByVal hMem, Length
  44. '*********Fill Dependent Classes From Internal Structure****
  45. Fill = True
  46. FileHeader.Fill VarPtr(st.FileHeader)
  47. OptionalHeader.Fill VarPtr(st.OptionalHeader)
  48. End Function
  49. Function CopyTo(ByVal hMem As Long) As Boolean
  50. If IsBadCodePtr(hMem) Then Exit Function
  51. CopyTo = True
  52. CopyMemory ByVal hMem, st, Length
  53. End Function
  54. '***************End Of Common Routine**************************************
  55. '**************************************************************************
  56. Property Get Signature() As Long
  57. Signature = st.Signature
  58. End Property
  59. Property Get FileHeader() As FileHeader
  60. If Objs.FileHeader Is Nothing Then
  61.     Set Objs.FileHeader = New FileHeader
  62.     Objs.FileHeader.SetOwner Me
  63. End If
  64. Set FileHeader = Objs.FileHeader
  65. End Property
  66. Property Get OptionalHeader() As OptionalHeader
  67. If Objs.OptionalHeader Is Nothing Then
  68.     Set Objs.OptionalHeader = New OptionalHeader
  69.     Objs.OptionalHeader.SetOwner Me
  70. End If
  71. Set OptionalHeader = Objs.OptionalHeader
  72.     
  73. End Property
  74.