View Information Stored in Type Libraries

View Information Stored in Type Libraries

You can use this method to view all the CoClasses, and Interfaces present in thetype library.

In order to run this tech tip you need following things:
(a) VB5 or VB6
(b) Reference to Type Lib information object component (TLIBINF32.dll).

This method takes in the name of the com component (or dll) or the type libraryfor which you wish to view the information. It stuffs all the information into alist box (lstTypeLibDetails).

 Private Sub PopulateTypeLibInfo(ByVal strTypeLibName As String)    On Error GoTo ErrorHandler    Dim pTypeLibInfo As TLI.TypeLibInfo     ' Pointer to TypeLibrary Info object    Dim pCoClasses As TLI.CoClasses         ' Pointer to Coll. of CoClasses    Dim pCoClassInfo As TLI.CoClassInfo     ' Pointer to a CoClass    Dim pInterfaces As TLI.Interfaces       ' Pointer to Coll. of Interfaces for a CoClass    Dim pInterfaceInfo As TLI.InterfaceInfo ' Pointer to a Interface for aCoClass    Dim lClassCount As Long    Dim lInterfaceCount As Long    Dim lClassIndex As Long    Dim lInterfaceIndex As Long    Dim strStringToAdd As String    ' Make sure that name is proper    If (strTypeLibName = "") Then        Exit Sub    End If    ' Get the pointer to type library information for the specified file    Set pTypeLibInfo = TypeLibInfoFromFile(strTypeLibName)    strStringToAdd = "Type Library : " & pTypeLibInfo.Name & Space(1) &pTypeLibInfo.Guid    ' Add this Type Lib name to the list control    lstTypeLibDetails.AddItem strStringToAdd    ' Add one empty line for clarity in the UI    lstTypeLibDetails.AddItem ""    ' Get the pointer to Com Classes with in this type library    Set pCoClasses = pTypeLibInfo.CoClasses    ' Take the count of total no. of CoClasses in this Type Lib    lClassCount = pCoClasses.Count    ' Traverse all the CoClasses in this type lib info to get the information    For lClassIndex = 1 To lClassCount        If (lClassIndex > 1) Then            ' Add one empty line for clarity in the UI            lstTypeLibDetails.AddItem ""        End If        Set pCoClassInfo = pCoClasses.Item(lClassIndex)        strStringToAdd = "CoClass : " & pCoClassInfo.Name & Space(1) &pCoClassInfo.Guid        ' Add this CoClass name to the list control        lstTypeLibDetails.AddItem strStringToAdd        ' Take out the Interfaces collection out for this CoClass        Set pInterfaces = pCoClassInfo.Interfaces        ' Take the count of total no. of CoClasses in this Type Lib        lInterfaceCount = pInterfaces.Count        For lInterfaceIndex = 1 To lInterfaceCount            Set pInterfaceInfo = pInterfaces.Item(lInterfaceIndex)            strStringToAdd = vbTab & " Interface : " & pInterfaceInfo.Name &Space(1) & pInterfaceInfo.Guid            ' Add this CoClass name to the list control            lstTypeLibDetails.AddItem strStringToAdd            Set pInterfaceInfo = Nothing        Next lInterfaceIndex        ' Release the CoClassInfo pointer        Set pCoClassInfo = Nothing        Set pInterfaces = Nothing    Next lClassIndex    ' Release the pointers    Set pCoClasses = Nothing    Set pTypeLibInfo = Nothing    Exit SubErrorHandler:    ' Release the pointers    Set pInterfaceInfo = Nothing    Set pCoClassInfo = Nothing    Set pInterfaces = Nothing    Set pCoClasses = Nothing    Set pTypeLibInfo = Nothing    ' Display the complete error message    MsgBox "Number      : " & Err.Number & vbCrLf & _           "Description : " & Err.Description & vbCrLf & _           "Source      : " & Err.Source & vbCrLf & _           "Help File   : " & Err.HelpFile & vbCrLf & _           "Last DLL Err: " & Err.LastDllError & vbCrLf, vbCritical + vbOKOnly,"Type Lib Error"End Sub
Share the Post:
data observability

Data Observability Explained

Data is the lifeblood of any successful business, as it is the driving force behind critical decision-making, insight generation, and strategic development. However, due to its intricate nature, ensuring the

Heading photo, Metadata.

What is Metadata?

What is metadata? Well, It’s an odd concept to wrap your head around. Metadata is essentially the secondary layer of data that tracks details about the “regular” data. The regular

XDR solutions

The Benefits of Using XDR Solutions

Cybercriminals constantly adapt their strategies, developing newer, more powerful, and intelligent ways to attack your network. Since security professionals must innovate as well, more conventional endpoint detection solutions have evolved