// Incluimos la cabecera de la DLL
#import "C:\Windows\System32\dcXMLSend.dll"
// Inicializamos la DLL
CoInitialize(NULL);
CLSID clsid;
HRESULT hr = CLSIDFromProgID(L"dcXMLSend.XMLSendClass", &clsid);
if(FAILED(hr)) {
MessageBox(NULL, _T("Debe registrar la DLL regsvr32 dcXMLSend.dll."), _T("Error"), MB_OK);
return -1;
}
dcXMLSend::_XMLSendClassPtr pXlApp;
hr = CoCreateInstance(clsid, NULL, CLSCTX_ALL, IID_IDispatch, (void **)&pXlApp);
if(FAILED(hr)) {
MessageBox(NULL, _T("No es posible cargar la Dll dcXMLSend.dll."), _T("Error"), MB_OK);
return -2;
}
// Configuramos el acceso a la plataforma Descom Mensajes
pXlApp->Usuario="usuario";
pXlApp->Clave="contraseña";
BSTR vacio=SysAllocString(L"");
VARIANT_BOOL cero=0;
BSTR id=SysAllocString(L"1");
// Agregamos un mensaje
BSTR destino=SysAllocString(L"xxx");
BSTR mensaje=SysAllocString(L"texto del mensaje");
dcXMLSend::_XMLMensajesPtr MENSAJES;
pXlApp->get_XMLMensajes(&MENSAJES) ;
MENSAJES->Add(&id,&destino,&mensaje);
VARIANT_BOOL h=0;
// Conectamos con la Platafroma de Descom Mensajes
pXlApp->SendXML(&vacio,&vacio,&cero);
// Obtenemos el resultado de la Autentificación
dcXMLSend::_clsRXAutentificacionPtr rx;
pXlApp->get_RXAutentificacion(&rx);
BSTR result;
rx->get_Resultado(&result);
if (wcscmp(result,L"1")==0){
// Autentificación Correcta
MessageBox(NULL, _T("Saldo de la cuenta: ") + rx->Saldo + _T(" créditos."), _T("Autentificacion Correcta"), MB_OK);
int c=MENSAJES->Count;
for (int i=1;i<=c;i++){
VARIANT v2;
v2.vt = VT_I4;
v2.lVal = i;
dcXMLSend::_XMLMensajePtr MENSAJE;
MENSAJES->get_Item(&v2,&MENSAJE);
MessageBox(NULL, _T("Resultado: ") + MENSAJE->Comentario, _T("Envio -> ") + MENSAJE->Destino, MB_OK);
}
}else{
// Autentificación Incorrecta
MessageBox(NULL, rx->Comentario, _T("ERROR"), MB_OK);
}
|