Examples of IJIDispatch


Examples of org.jinterop.dcom.impls.automation.IJIDispatch

            //Obtain WbemScripting.SWbemLocator object
            JIComServer comStub = new JIComServer(JIProgId.valueOf("WbemScripting.SWbemLocator"), server, session);
            IJIComObject unknown = comStub.createInstance();
            IJIComObject wbemLocatorObj = unknown.queryInterface(WMI_CLSID);
            IJIDispatch wbemLocatorDispatch =  (IJIDispatch) JIObjectFactory.narrowObject(wbemLocatorObj.queryInterface(IJIDispatch.IID));

            // Call WbemScripting.SWbemLocator.ConnectServer method,obtain SWbemServices object
            JIVariant[] results = wbemLocatorDispatch.callMethodA("ConnectServer", new Object[]{
                    JIVariant.OPTIONAL_PARAM(),
                    (namespace == null) ? JIVariant.OPTIONAL_PARAM() : new JIString(namespace)
                    , JIVariant.OPTIONAL_PARAM(), JIVariant.OPTIONAL_PARAM(),
                    (locale == null) ? JIVariant.OPTIONAL_PARAM() : new JIString(locale),
                    (authority == null) ? JIVariant.OPTIONAL_PARAM() : new JIString(authority),
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

        try {
            JISession tmpSession = JISession.createSession(session);
            JIComServer tmpSever = new JIComServer(JIProgId.valueOf(progId), server, tmpSession);
            IJIComObject unknown = tmpSever.createInstance();
            //IJIComObject comObject = unknown.queryInterface(JIProgId.valueOf("WbemScripting.SWbemNamedValueSet").getCorrespondingCLSID().getCLSID());
            IJIDispatch dispatch = (IJIDispatch) JIObjectFactory.narrowObject(unknown.queryInterface(IJIDispatch.IID));
            return dispatch;
        } catch (JIException e) {
            throw new WMIException(e);
        } catch (UnknownHostException e) {
            throw new WMIException(0,"Unknown host.");
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

                return null;
            }
            if(AbstractScriptingObject.class.isAssignableFrom(returnType)) {
                IJIComObject comObject = JIObjectFactory.narrowObject(results[0].getObjectAsComObject());

                IJIDispatch resultDispatch;
                if(IJIDispatch.IID.equalsIgnoreCase(comObject.getInterfaceIdentifier())) {
                    resultDispatch = (IJIDispatch)comObject;
                } else {
                    IJIComObject d = JIObjectFactory.narrowObject(comObject.queryInterface(IJIDispatch.IID));
                    resultDispatch = (IJIDispatch)d;
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

                return (T)Boolean.valueOf(result.getObjectAsBoolean());
            } else if(Integer.class.equals(returnType)) {
                return (T)Integer.valueOf(result.getObjectAsInt());
            } else if(AbstractScriptingObject.class.isAssignableFrom(returnType)) {
                IJIComObject resultObject = result.getObjectAsComObject();
                IJIDispatch resultDispatch = (IJIDispatch) JIObjectFactory.narrowObject(resultObject.queryInterface(IJIDispatch.IID));
                return (T) returnType.getDeclaredConstructor(IJIDispatch.class).newInstance(resultDispatch);
            } else {
                return (T)new WMIVariant(result);
            }
        } catch (JIException e) {
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

            // Execute command
            JIComServer comStub = new JIComServer(JIProgId.valueOf("WScript.Shell"),
                    bonafides.getHost(), session);
            IJIComObject unknown = comStub.createInstance();
            IJIComObject comobject = unknown.queryInterface(IJIDispatch.IID);
            IJIDispatch shell = (IJIDispatch) JIObjectFactory.narrowObject(comobject);

            Object[] scriptArgs = new Object[]{
                new JIString("%comspec% /c " + cmd)
            };

            // ref: http://stackoverflow.com/questions/6781340/how-to-call-a-remote-bat-file-using-jinterop

            JIVariant results[] = shell.callMethodA("Exec", scriptArgs);
            final IJIDispatch wbemObjectSet_dispatch =
                    (IJIDispatch) JIObjectFactory.narrowObject((results[0]).getObjectAsComObject());

            JIVariant stdOutJIVariant = wbemObjectSet_dispatch.get("StdOut");

            IJIDispatch stdOut =
                    (IJIDispatch) JIObjectFactory.narrowObject(stdOutJIVariant.getObjectAsComObject());

            // Read all from stdOut
            StringBuilder sb = new StringBuilder();

            while (!((JIVariant) stdOut.get("AtEndOfStream")).getObjectAsBoolean()) {
                sb.append(stdOut.callMethodA("ReadAll").getObjectAsString().getString());
            }

            return sb.toString();
        }
        catch (Exception e) {
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

    }

    private void setCount() throws WindowsException {
        try {
            JIVariant[] results = dispatch.callMethodA("ConnectServer", crazyLongMicrosoftArgs);
            IJIDispatch wbemServices_dispatch = (IJIDispatch) JIObjectFactory.narrowObject((results[0]).getObjectAsComObject());
            JIVariant[] results2 = wbemServices_dispatch.callMethodA("InstancesOf", new Object[]{new JIString("Win32_Process"), new Integer(0), JIVariant.OPTIONAL_PARAM()});
            IJIDispatch wbemObjectSet_dispatch = (IJIDispatch) JIObjectFactory.narrowObject((results2[0]).getObjectAsComObject());
            variant = wbemObjectSet_dispatch.get("_NewEnum");
            JIVariant Count = wbemObjectSet_dispatch.get("Count");
            count = Count.getObjectAsInt();
        }
        catch (Exception e) {
            throw new WindowsException(e);
        }
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

            for (int i = 0; i < count; i++) {
                Object[] values = enumVARIANT.next(1);
                JIArray array = (JIArray) values[0];
                Object[] arrayObj = (Object[]) array.getArrayInstance();
                for (int j = 0; j < arrayObj.length; j++) {
                    IJIDispatch wbemObject_dispatch = (IJIDispatch) JIObjectFactory.narrowObject(((JIVariant) arrayObj[j]).getObjectAsComObject());
                    JIVariant variant2 = (JIVariant) (wbemObject_dispatch.callMethodA("GetObjectText_", new Object[]{new Integer(1)}))[0];

                    // normally arrayObj.length is 1
                    if (j == 0)
                        processInfo[i] = variant2.getObjectAsString().getString();
                }
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

            // Execute command
            JIComServer comStub = new JIComServer(JIProgId.valueOf("WScript.Shell"),
                    bonafides.getHost(), session);
            IJIComObject unknown = comStub.createInstance();
            IJIComObject comobject = unknown.queryInterface(IJIDispatch.IID);
            IJIDispatch shell = (IJIDispatch) JIObjectFactory.narrowObject(comobject);

            Object[] scriptArgs = new Object[]{
                new JIString("%comspec% /c " + cmd)
            };

            // ref: http://stackoverflow.com/questions/6781340/how-to-call-a-remote-bat-file-using-jinterop

            JIVariant results[] = shell.callMethodA("Exec", scriptArgs);
            final IJIDispatch wbemObjectSet_dispatch =
                    (IJIDispatch) JIObjectFactory.narrowObject((results[0]).getObjectAsComObject());

            JIVariant stdOutJIVariant = wbemObjectSet_dispatch.get(outputStream);

            IJIDispatch stdOut =
                    (IJIDispatch) JIObjectFactory.narrowObject(stdOutJIVariant.getObjectAsComObject());

            // Read all from stdOut
            StringBuilder sb = new StringBuilder();

            while (!((JIVariant) stdOut.get("AtEndOfStream")).getObjectAsBoolean()) {
                sb.append(stdOut.callMethodA("ReadAll").getObjectAsString().getString());
            }

            return sb.toString();
        }
        catch (Exception e) {
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

            // Execute command
            JIComServer comStub = new JIComServer(JIProgId.valueOf("WScript.Shell"),
                    bonafides.getHost(), session);
            IJIComObject unknown = comStub.createInstance();
            IJIComObject comobject = unknown.queryInterface(IJIDispatch.IID);
            IJIDispatch shell = (IJIDispatch) JIObjectFactory.narrowObject(comobject);

            Object[] scriptArgs = new Object[]{
                new JIString("%comspec% /c " + cmd)
            };

            // ref: http://stackoverflow.com/questions/6781340/how-to-call-a-remote-bat-file-using-jinterop

            JIVariant results[] = shell.callMethodA("Exec", scriptArgs);
            final IJIDispatch wbemObjectSet_dispatch =
                    (IJIDispatch) JIObjectFactory.narrowObject((results[0]).getObjectAsComObject());

            JIVariant stdOutJIVariant = wbemObjectSet_dispatch.get(outputStream);

            IJIDispatch stdOut =
                    (IJIDispatch) JIObjectFactory.narrowObject(stdOutJIVariant.getObjectAsComObject());

            // Read all from stdOut
            StringBuilder sb = new StringBuilder();

            while (!((JIVariant) stdOut.get("AtEndOfStream")).getObjectAsBoolean()) {
                sb.append(stdOut.callMethodA("ReadAll").getObjectAsString().getString());
            }

            return sb.toString();
        }
        catch (NoClassDefFoundError err) {
View Full Code Here

Examples of org.jinterop.dcom.impls.automation.IJIDispatch

    }

    private void setCount() throws WindowsException {
        try {
            JIVariant[] results = dispatch.callMethodA("ConnectServer", crazyLongMicrosoftArgs);
            IJIDispatch wbemServices_dispatch = (IJIDispatch) JIObjectFactory.narrowObject((results[0]).getObjectAsComObject());
            JIVariant[] results2 = wbemServices_dispatch.callMethodA("InstancesOf", new Object[]{new JIString("Win32_Process"), Integer.valueOf(0), JIVariant.OPTIONAL_PARAM()});
            IJIDispatch wbemObjectSet_dispatch = (IJIDispatch) JIObjectFactory.narrowObject((results2[0]).getObjectAsComObject());
            variant = wbemObjectSet_dispatch.get("_NewEnum");
            JIVariant Count = wbemObjectSet_dispatch.get("Count");
            count = Count.getObjectAsInt();
        }
        catch (Exception e) {
            throw new WindowsException(e);
        }
View Full Code Here
TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.