用VB写控件dll的问题
我用VB写了一个activex dll控件,在asp中调用,主要用途是取得本机的硬盘序列号,源程序如下:
Private Declare Function GetComputerName Lib "kernel32" Alias "GetComputerNameA" (ByVal lpBuffer As String, nSize As Long) As Long
Public Function getHDID() As String
Err.Clear
On Error GoTo doError
Dim len5 As Long, aa As Long
Dim cmprName As String
Dim Computer As String
Dim CPUs As Object, MyCpu As Object
Dim SerialNo As String
'取得Computer Name
cmprName = String(255, 0)
len5 = 256
aa = GetComputerName(cmprName, len5)
cmprName = Left(cmprName, InStr(1, cmprName, Chr(0)) - 1)
Computer = cmprName '取得CPU端口号
Set CPUs = GetObject("winmgmts:{impersonationLevel=impersonate}!\\" & Computer & "\root\cimv2").ExecQuery("select * from Win32_DiskDrive")
For Each MyCpu In CPUs
SerialNo = MyCpu.Model
Exit For
Next
getHDID = SerialNo
Set CPUs = Nothing
Set MyCpu = Nothing
Exit Function
doError:
getHDID = "[" & Err.Description & "]"
End Function
编译以后,在VB里面调用可以得到硬盘序列号,但是在asp里面调用出现automation 错误,请问为什么呢?