Тема: VBS: Функции COM-библиотеки в VBScript
Доброго времени суток!
Пишу обёртку на VBS для dll.
Есть COM-библиотека HybridCOM.dll. В ней ряд методов, которые должны вызываться в программе VBS.
Вот так подключаю библиотек:
Set HCL = CreateObject(HybridCOMLib.HybridCOM")
Подключилась.
Далее вызываю следующие функции из dll:
STDMETHODIMP HybridCOM::Init()
{
---
return 0;
}
и
STDMETHODIMP HybridCOM::LoadKeyStore(INT storage, BSTR password, BSTR container)
{
---
return 0;
}
HCL.Init()
er = HCL.LoadKeyStore(1, "Pasword", "C:\1.p12")
Это работает и ошибку не выдает (Ну вроде как работает, чтобы проверить точно ли работает, надо запустить следующую функцию на вывод)
Т.е. теперь пытаюсь вызвать функцию, которая возвращает значение:
STDMETHODIMP HybridCOM::X509ExportCertificateFromStore(BSTR alias, INT flag, BSTR* outCert)
{
---
return 0;
}
Как прописать в VBS, чтобы outCert заходила в функцию и возвращалась измененной?
Пишу вот так, но результат нулевой.
er = HCL.X509ExportCertificateFromStore("", 0, (outCert))
Получается, что главный вопрос таков:
Как отправлять возвратную переменную в функцию COM-a?
И если этих возвратных переменных несколько, как тогда писать? (Вот например есть такие функции, где на возврат идут 3 переменных:
STDMETHODIMP HybridCOM::VerifyData(BSTR alias, INT flags, INT inCertID, BSTR inData, BSTR inSign, BSTR* outData, BSTR* outVerifyInfo, BSTR* outCert))