|
Re: Remolty access to the registry with WMI: msg#00002windows.devel.jawin
How about using arrays? i.e. : names = new Variant.ByrefHolder(new String[0]); types = new Variant.ByrefHolder(new int[0]); -----Original Message----- From: Discussion of Java/Win32/COM integration with Jawin [mailto:JAWIN@xxxxxxxxxxxxxxxxxxx] On Behalf Of Eric Baelen Sent: Wednesday, October 05, 2005 4:31 PM To: JAWIN@xxxxxxxxxxxxxxxxxxx Subject: Re: Remolty access to the registry with WMI I progress in my investigation. I call the method EnumValues on the StdRegProv object. The method has the following signature: uint32 EnumValues([IN] uint32 hDefKey = 2147483650, [IN] string sSubKeyName, [out] string sNames[], [out] sint32 Types[]) I try to do something like that: Variant.ByrefHolder names = new Variant.ByrefHolder(new String()); Variant.ByrefHolder types = new Variant.ByrefHolder(new Integer(0)); wbemObject.invokeN("EnumValues ", new Object[] { RegistryConstants.HKEY_LOCAL_MACHINE, "SOFTWARE\\Microsoft\\Windows\\CurrentVersion\\Uninstall", names, types}); but after names.getRef() is null Any idea? Tx Eric -----Original Message----- From: Discussion of Java/Win32/COM integration with Jawin [mailto:JAWIN@xxxxxxxxxxxxxxxxxxx] On Behalf Of Eric Baelen Sent: Wednesday, October 05, 2005 9:22 AM To: JAWIN@xxxxxxxxxxxxxxxxxxx Subject: [JAWIN] Remolty access to the registry with WMI Hi, I try to access remotely the registry with WMI: ISWbemLocator wbemLocator = new ISWbemLocator("WbemScripting.SWbemLocator"); ISWbemServices wbemServices = wbemLocator.ConnectServer("10.7.1.22", "root/default", "user", "password", "", "", 0, null); ISWbemObject wbemObject = wbemServices.Get("StdRegProv", 0, null); System.out.println(wbemObject.GetObjectText_(0).toString()); The System.out.println displays the StdRegProv class definition: [Locale(1033), dynamic: ToInstance, provider("RegProv")] class StdRegProv { [implemented, static] uint32 CreateKey([IN] uint32 hDefKey = 2147483650, [IN] string sSubKeyName); [implemented, static] uint32 DeleteKey([IN] uint32 hDefKey = 2147483650, [IN] string sSubKeyName); .. } As my knowledge of COM is very limited, I'm basically stuck here. In VBscript samples, it seems very easy: Set objLocator = CreateObject("WbemScripting.SWbemLocator") Set objService = objLocator.ConnectServer( strComputer, "Root\Default", strUserName, strPassword ) Set objRegistry = objService.Get( "StdRegProv" ) objRegistry.DeleteKey(HKEY_LOCAL_MACHINE, "SYSTEM\CurrentControlSet\Services\admin51-serv") Has someone already done this? How can I call EnumValues on my object wbemObject ? Thanks for you help Eric |
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Remolty access to the registry with WMI: 00002, Eric Baelen |
|---|---|
| Next by Date: | Re: Remolty access to the registry with WMI: 00002, Eric Baelen |
| Previous by Thread: | Re: Remolty access to the registry with WMIi: 00002, Eric Baelen |
| Next by Thread: | Re: Remolty access to the registry with WMI: 00002, Eric Baelen |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |