Want to protect your cyber security and still get fast solutions? Ask a secure question today.Go Premium

x
  • Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 453
  • Last Modified:

Best way to go about Win32 calls for Disk Mangament in a Java application (Similar to Rescan Disk in MyComputer->Manage->disk Management->Rescan Disks)

I'm totally new to Windows API calls, but I need to create a Java Application that is similar to the Rescan Disk operation in Windows, MyComputer->Manage, right click Disk Managment->Rescan Disks. So basically I need to write a Java Application that will pick up on newly Mapped and Masked storage without having to shutdown the Host PC. I was wondering could anyone tell me the best way to approach to this by answering the below questions:

1) How do I call Win32 calls within my Java Application?
2) What type of Win32 calls do I have to use?
0
Dcom4CIT
Asked:
Dcom4CIT
  • 5
  • 5
  • 3
  • +3
4 Solutions
 
girionisCommented:
You will have to use JNI: http://java.sun.com/docs/books/tutorial/native1.1/

Otherwise, if you already know the application that does it call it by using the Runtime class:

Runtime.getRuntime().exec("<application that rescans the disk">);
0
 
CEHJCommented:
Why would you want to write this in Java?
0
 
Dcom4CITAuthor Commented:
Well I don't HAVE to do it in Java, but I'm more comfortable with Java. What language would you recommend? and why?
0
Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

 
CEHJCommented:
Java has no natural interface with the OS. You would be better with a platform-specific language - VBA, Visual C++?
0
 
Dcom4CITAuthor Commented:
I'm doing a project for my final year in College, its an Automated Storage Provisioning project. Basically when a host is deemed to require extra storage the application will configure and dynamically add EMC Symmetrix Storage to the Host in question. The Project is using EMC storage API, the version of the EMC Storage API I'm hoping to use is a Java version. After the application Maps, Masks (this will be done with EMC API) etc.. it should rescan the disks to pick up on the new storage(This will be Win32 calls).

At the moment i'm doing research to find the best way to go about it, so any ideas are greatly appreciated.
0
 
CEHJCommented:
>>the version of the EMC Storage API I'm hoping to use is a Java version

Well i don't know this, but if it uses native code as well, that could be an argument for integrating your own native code into it with JNI
0
 
Dcom4CITAuthor Commented:
So your saying I should program the application in Java and use the Win32 calls using the JNI?
0
 
JavatmCommented:
> So your saying I should program the application in Java and use the Win32 calls using the JNI?

Use Java as an interface, JNI as the bridge and other language (C, C++) for Specific OS task.

Hope that helps . . .
Javatm
0
 
CEHJCommented:
>>So your saying I should program the application in Java and use the Win32 calls using the JNI?

There are various ways you could approach this. e.g. if you have an API written in Java, to which you need to add some system functionality, depending on the proportions involved, you could supply a unified Java Facade to the various other parts of the system. e.g.

public class FileManagement {
      
      ......
      
      public void foo() {
            // Call existing api
            emc.foo();
            
      }
      
      // Call one of your JNI methods
      public int native rescanDisks();
      
      ......
      
      
}
0
 
objectsCommented:
0
 
doronbCommented:
Why not do it in C# where the syntax is Java-like and the whole Windows API is at your disposal?
0
 
Dcom4CITAuthor Commented:
Does anyone know what Win32 calls I would need for this project?
0
 
objectsCommented:
best bet would be to ask in the windows programming ta.
0
 
Dcom4CITAuthor Commented:
Ok Thanks
0
 
girionisCommented:
:)
0
 
CEHJCommented:
8-)
0
 
objectsCommented:
good luck with it, let me know if you need further assistance :)
0

Featured Post

Industry Leaders: We Want Your Opinion!

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

  • 5
  • 5
  • 3
  • +3
Tackle projects and never again get stuck behind a technical roadblock.
Join Now