jdk/src/windows/classes/sun/nio/fs/WindowsNativeDispatcher.java
changeset 17715 9d2234cba0ff
parent 16473 81d282e3cdaf
child 23010 6dadb192ad81
equal deleted inserted replaced
17714:04271182b2c1 17715:9d2234cba0ff
   971 
   971 
   972     /**
   972     /**
   973      * HANDLE CreateIoCompletionPort (
   973      * HANDLE CreateIoCompletionPort (
   974      *   HANDLE FileHandle,
   974      *   HANDLE FileHandle,
   975      *   HANDLE ExistingCompletionPort,
   975      *   HANDLE ExistingCompletionPort,
   976      *   DWORD CompletionKey,
   976      *   ULONG_PTR CompletionKey,
   977      *   DWORD NumberOfConcurrentThreads
   977      *   DWORD NumberOfConcurrentThreads
   978      * )
   978      * )
   979      */
   979      */
   980     static native long CreateIoCompletionPort(long fileHandle, long existingPort,
   980     static native long CreateIoCompletionPort(long fileHandle, long existingPort,
   981         int completionKey) throws WindowsException;
   981         long completionKey) throws WindowsException;
   982 
   982 
   983 
   983 
   984     /**
   984     /**
   985      * GetQueuedCompletionStatus(
   985      * GetQueuedCompletionStatus(
   986      *   HANDLE CompletionPort,
   986      *   HANDLE CompletionPort,
   987      *   LPDWORD lpNumberOfBytesTransferred,
   987      *   LPDWORD lpNumberOfBytesTransferred,
   988      *   LPDWORD lpCompletionKey,
   988      *   PULONG_PTR lpCompletionKey,
   989      *   LPOVERLAPPED *lpOverlapped,
   989      *   LPOVERLAPPED *lpOverlapped,
   990      *   DWORD dwMilliseconds
   990      *   DWORD dwMilliseconds
   991      */
   991      */
   992     static CompletionStatus GetQueuedCompletionStatus(long completionPort)
   992     static CompletionStatus GetQueuedCompletionStatus(long completionPort)
   993         throws WindowsException
   993         throws WindowsException
   997         return status;
   997         return status;
   998     }
   998     }
   999     static class CompletionStatus {
   999     static class CompletionStatus {
  1000         private int error;
  1000         private int error;
  1001         private int bytesTransferred;
  1001         private int bytesTransferred;
  1002         private int completionKey;
  1002         private long completionKey;
  1003         private CompletionStatus() { }
  1003         private CompletionStatus() { }
  1004 
  1004 
  1005         int error() { return error; }
  1005         int error() { return error; }
  1006         int bytesTransferred() { return bytesTransferred; }
  1006         int bytesTransferred() { return bytesTransferred; }
  1007         int completionKey() { return completionKey; }
  1007         long completionKey() { return completionKey; }
  1008     }
  1008     }
  1009     private static native void GetQueuedCompletionStatus0(long completionPort,
  1009     private static native void GetQueuedCompletionStatus0(long completionPort,
  1010         CompletionStatus status) throws WindowsException;
  1010         CompletionStatus status) throws WindowsException;
  1011 
  1011 
  1012     /**
  1012     /**
  1013      * PostQueuedCompletionStatus(
  1013      * PostQueuedCompletionStatus(
  1014      *   HANDLE CompletionPort,
  1014      *   HANDLE CompletionPort,
  1015      *   DWORD dwNumberOfBytesTransferred,
  1015      *   DWORD dwNumberOfBytesTransferred,
  1016      *   DWORD dwCompletionKey,
  1016      *   ULONG_PTR dwCompletionKey,
  1017      *   LPOVERLAPPED lpOverlapped
  1017      *   LPOVERLAPPED lpOverlapped
  1018      * )
  1018      * )
  1019      */
  1019      */
  1020     static native void PostQueuedCompletionStatus(long completionPort,
  1020     static native void PostQueuedCompletionStatus(long completionPort,
  1021         int completionKey) throws WindowsException;
  1021         long completionKey) throws WindowsException;
  1022 
  1022 
  1023     /**
  1023     /**
  1024      * ReadDirectoryChangesW(
  1024      * ReadDirectoryChangesW(
  1025      *   HANDLE hDirectory,
  1025      *   HANDLE hDirectory,
  1026      *   LPVOID lpBuffer,
  1026      *   LPVOID lpBuffer,