当前位置: 首页>>代码示例>>Java>>正文


Java WinBase.INVALID_HANDLE_VALUE属性代码示例

本文整理汇总了Java中com.sun.jna.platform.win32.WinBase.INVALID_HANDLE_VALUE属性的典型用法代码示例。如果您正苦于以下问题:Java WinBase.INVALID_HANDLE_VALUE属性的具体用法?Java WinBase.INVALID_HANDLE_VALUE怎么用?Java WinBase.INVALID_HANDLE_VALUE使用的例子?那么, 这里精选的属性代码示例或许可以为您提供帮助。您也可以进一步了解该属性所在com.sun.jna.platform.win32.WinBase的用法示例。


在下文中一共展示了WinBase.INVALID_HANDLE_VALUE属性的5个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Java代码示例。

示例1: CygwinPtyProcess

public CygwinPtyProcess(String[] command, Map<String, String> environment, String workingDirectory, File logFile, boolean console)
  throws IOException {
  String pipePrefix = String.format("\\\\.\\pipe\\cygwinpty-%d-%d-", KERNEL32.GetCurrentProcessId(), processCounter.getAndIncrement());
  String inPipeName = pipePrefix + "in";
  String outPipeName = pipePrefix + "out";
  String errPipeName = pipePrefix + "err";

  myInputHandle = KERNEL32.CreateNamedPipeA(inPipeName, PIPE_ACCESS_OUTBOUND | WinNT.FILE_FLAG_OVERLAPPED, 0, 1, 0, 0, 0, null);
  myOutputHandle = KERNEL32.CreateNamedPipeA(outPipeName, PIPE_ACCESS_INBOUND | WinNT.FILE_FLAG_OVERLAPPED, 0, 1, 0, 0, 0, null);
  myErrorHandle =
    console ? KERNEL32.CreateNamedPipeA(errPipeName, PIPE_ACCESS_INBOUND | WinNT.FILE_FLAG_OVERLAPPED, 0, 1, 0, 0, 0, null) : null;

  if (myInputHandle == WinBase.INVALID_HANDLE_VALUE ||
      myOutputHandle == WinBase.INVALID_HANDLE_VALUE ||
      myErrorHandle == WinBase.INVALID_HANDLE_VALUE) {
    closeHandles();
    throw new IOException("Unable to create a named pipe");
  }

  myInputPipe = new NamedPipe(myInputHandle, false);
  myOutputPipe = new NamedPipe(myOutputHandle, false);
  myErrorPipe = myErrorHandle != null ? new NamedPipe(myErrorHandle, false) : null;

  myProcess = startProcess(inPipeName, outPipeName, errPipeName, workingDirectory, command, environment, logFile, console);
}
 
开发者ID:traff,项目名称:pty4j,代码行数:25,代码来源:CygwinPtyProcess.java

示例2: openDevice

public static boolean openDevice() throws IOException {
       /* Kernel32RW.GENERIC_READ | Kernel32RW.GENERIC_WRITE not used in dwDesiredAccess field for system devices such a keyboard or mouse */
       int shareMode = WinNT.FILE_SHARE_READ | WinNT.FILE_SHARE_WRITE;
       int Access = WinNT.GENERIC_WRITE | WinNT.GENERIC_READ;
	HandleToDevice = Kernel32.INSTANCE.CreateFile(
               Devices.getConnectedDeviceWin32().getDevPath(), 
               Access, 
               shareMode, 
               null, 
               WinNT.OPEN_EXISTING, 
               0,//WinNT.FILE_FLAG_OVERLAPPED, 
               (WinNT.HANDLE)null);
	if (HandleToDevice == WinBase.INVALID_HANDLE_VALUE) throw new IOException(getLastError());
	return true;
}
 
开发者ID:Androxyde,项目名称:Flashtool,代码行数:15,代码来源:JKernel32.java

示例3: openDeviceAsync

public static boolean openDeviceAsync() throws IOException {
       /* Kernel32RW.GENERIC_READ | Kernel32RW.GENERIC_WRITE not used in dwDesiredAccess field for system devices such a keyboard or mouse */
       int shareMode = WinNT.FILE_SHARE_READ | WinNT.FILE_SHARE_WRITE;
       int Access = WinNT.GENERIC_WRITE | WinNT.GENERIC_READ;
	HandleToDevice = Kernel32.INSTANCE.CreateFile(
               Devices.getConnectedDeviceWin32().getDevPath(), 
               Access, 
               shareMode, 
               null, 
               WinNT.OPEN_EXISTING, 
               WinNT.FILE_FLAG_OVERLAPPED, 
               (WinNT.HANDLE)null);
	if (HandleToDevice == WinBase.INVALID_HANDLE_VALUE) throw new IOException(getLastError());
	return true;
}
 
开发者ID:Androxyde,项目名称:Flashtool,代码行数:15,代码来源:JKernel32.java

示例4: createEvent

public static WinNT.HANDLE createEvent() throws IOException {
	WinNT.HANDLE hevent = kernel32.CreateEvent(null, false, false, null);
	int res = kernel32.GetLastError();
	if (hevent == WinBase.INVALID_HANDLE_VALUE || res!=0)
			throw new IOException(JKernel32.getLastError());
	return hevent;
}
 
开发者ID:Androxyde,项目名称:Flashtool,代码行数:7,代码来源:JKernel32.java

示例5: closeDevice

public static boolean closeDevice() {
	boolean result = true;
	
	if (HandleToDevice != WinBase.INVALID_HANDLE_VALUE) {
		result = kernel32.CloseHandle(HandleToDevice);
	}
	HandleToDevice = WinBase.INVALID_HANDLE_VALUE;
	return result;
}
 
开发者ID:Androxyde,项目名称:Flashtool,代码行数:9,代码来源:JKernel32.java


注:本文中的com.sun.jna.platform.win32.WinBase.INVALID_HANDLE_VALUE属性示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。