diff options
author | Andreas Rumpf <rumpf_a@web.de> | 2016-04-26 16:53:40 +0200 |
---|---|---|
committer | Andreas Rumpf <rumpf_a@web.de> | 2016-04-26 16:53:40 +0200 |
commit | f9d9cdd1ee540d39ef4a91ac2819fbe6b6e235d2 (patch) | |
tree | c054d529276c96be8adaef9dbcb9b3e493b0c214 /lib | |
parent | e31ec746b96ef185d9f5fa6276518949fa889e5a (diff) | |
parent | 2a2a3d6c39e08a74522648d2f329f0de4fe74027 (diff) | |
download | Nim-f9d9cdd1ee540d39ef4a91ac2819fbe6b6e235d2.tar.gz |
Merge pull request #4099 from cheatfate/asyncdispatch2
Proper definitions for functions СreateIoCompletionPort and GetQueuedCompletionStatus
Diffstat (limited to 'lib')
-rw-r--r-- | lib/pure/asyncdispatch.nim | 4 | ||||
-rw-r--r-- | lib/windows/winlean.nim | 6 |
2 files changed, 6 insertions, 4 deletions
diff --git a/lib/pure/asyncdispatch.nim b/lib/pure/asyncdispatch.nim index 01b53cb12..a4800284b 100644 --- a/lib/pure/asyncdispatch.nim +++ b/lib/pure/asyncdispatch.nim @@ -368,7 +368,7 @@ proc processTimers(p: PDispatcherBase) = when defined(windows) or defined(nimdoc): import winlean, sets, hashes type - CompletionKey = Dword + CompletionKey = ULONG_PTR CompletionData* = object fd*: AsyncFD # TODO: Rename this. @@ -431,7 +431,7 @@ when defined(windows) or defined(nimdoc): if timeout == -1: winlean.INFINITE else: timeout.int32 var lpNumberOfBytesTransferred: Dword - var lpCompletionKey: ULONG + var lpCompletionKey: ULONG_PTR var customOverlapped: PCustomOverlapped let res = getQueuedCompletionStatus(p.ioPort, addr lpNumberOfBytesTransferred, addr lpCompletionKey, diff --git a/lib/windows/winlean.nim b/lib/windows/winlean.nim index a08a067fa..de9898dce 100644 --- a/lib/windows/winlean.nim +++ b/lib/windows/winlean.nim @@ -36,6 +36,8 @@ type DWORD* = int32 PDWORD* = ptr DWORD LPINT* = ptr int32 + ULONG_PTR* = uint + PULONG_PTR* = ptr uint HDC* = Handle HGLRC* = Handle @@ -759,12 +761,12 @@ const ERROR_NETNAME_DELETED* = 64 proc createIoCompletionPort*(FileHandle: Handle, ExistingCompletionPort: Handle, - CompletionKey: DWORD, + CompletionKey: ULONG_PTR, NumberOfConcurrentThreads: DWORD): Handle{.stdcall, dynlib: "kernel32", importc: "CreateIoCompletionPort".} proc getQueuedCompletionStatus*(CompletionPort: Handle, - lpNumberOfBytesTransferred: PDWORD, lpCompletionKey: PULONG, + lpNumberOfBytesTransferred: PDWORD, lpCompletionKey: PULONG_PTR, lpOverlapped: ptr POVERLAPPED, dwMilliseconds: DWORD): WINBOOL{.stdcall, dynlib: "kernel32", importc: "GetQueuedCompletionStatus".} |