Browse DevX
Sign up for e-mail newsletters from DevX

Tip of the Day
Language: VB5.VB6
Expertise: Intermediate
Dec 3, 2001



Building the Right Environment to Support AI, Machine Learning and Deep Learning

IsComDll - Check whether a DLL is a self-registering COM server

Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLibraryA" _
    (ByVal Path As String) As Long
Private Declare Function GetProcAddress Lib "kernel32.dll" (ByVal hModule As _
    Long, ByVal ProcName As String) As Long
Private Declare Function FreeLibrary Lib "kernel32.dll" (ByVal hModule As Long)

' Check whether a DLL is an COM self-registering server 

Function IsComDLL(ByVal FileName As String) As Boolean
    Dim hModule As Long
    Dim procAddress As Long
    ' attempt to load the DLL
    hModule = LoadLibrary(FileName)
    If hModule <> 0 Then
        ' the DLL has been loaded
        ' get the address of the DllRegisterServer function
        procAddress = GetProcAddress(hModule, "DllRegisterServer")
        ' if non-zero then the function is there
        IsComDLL = (procAddress <> 0)
        ' free-memory
        FreeLibrary hModule
    End If

End Function

Francesco Balena
Thanks for your registration, follow us on our social networks to keep up-to-date