Мне нужно получить на VBScript список крипто-провайдеров, установленных в системе.
В CryptoApi есть функция: СryptEnumProviders
и пример ее использования в С/С++
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/seccrypto/security/cryptenumproviders.asp
и еще здесь:
http://www.rsdn.ru/article/crypto/usingcryptoapi.xml
Очень прошу мне помочь или подсказать, как реализовать этот же код на VBScript.
Средствами COPICOM сделать это мне не представляется возможным - не нахожу соответствующего объекта.
С чем проблема? С выделением памяти? Попробуй просто использовать в качестве буфера пробельную строку, т.е. вместо LocalAlloc напиши s = space(cbName) или типа того
Private Declare Function CryptEnumProviders Lib "advapi32.dll" Alias "CryptEnumProvidersA" (ByVal dwIndex As Long, ByRef pdwReserved As Long, ByVal dwFlags As Long, ByRef pdwProvType As Long, ByVal pszProvName As String, ByRef pcbProvName As Long) As Long
Private Sub Command1_Click()
 im index As Long, l As Long, t As Long
index = 0
l = 0
 im s As String
 o While CryptEnumProviders(index, ByVal 0&, ByVal 0&, t, s, l)
s = Space(l)
CryptEnumProviders index, ByVal 0&, ByVal 0&, t, s, l
Text1 = Text1 & s
l = 0
index = index + 1
Loop
End Sub
Private Declare Function CryptEnumProviders Lib "advapi32.dll" Alias "CryptEnumProvidersA" (ByVal dwIndex As Long, ByRef pdwReserved As Long, ByVal dwFlags As Long, ByRef pdwProvType As Long, ByVal pszProvName As String, ByRef pcbProvName As Long) As Long