winlean
Этот модуль реализует небольшой обёртку для некоторых необходимых процедур Win API, чтобы компилятор Nim не зависел от огромного модуля Windows.
Импорты
- dynlib
Типы
WinChar = Utf16Char
- Исходный код Редактировать
Handle = int
- Исходный код Редактировать
LONG = int32
- Исходный код Редактировать
ULONG = int32
- Исходный код Редактировать
PULONG = ptr int
- Исходный код Редактировать
WINBOOL = int32
-
WINBOOLиспользует обратную конвенцию, чем posix, !=0 означает успех. Исходный код Редактировать DWORD = int32
- Исходный код Редактировать
PDWORD = ptr DWORD
- Исходный код Редактировать
LPINT = ptr int32
- Исходный код Редактировать
ULONG_PTR = uint
- Исходный код Редактировать
PULONG_PTR = ptr uint
- Исходный код Редактировать
HDC = Handle
- Исходный код Редактировать
HGLRC = Handle
- Исходный код Редактировать
SECURITY_ATTRIBUTES {...}{.final, pure.} = object nLength*: int32 lpSecurityDescriptor*: pointer bInheritHandle*: WINBOOL- Исходный код Редактировать
STARTUPINFO {...}{.final, pure.} = object cb*: int32 lpReserved*: cstring lpDesktop*: cstring lpTitle*: cstring dwX*: int32 dwY*: int32 dwXSize*: int32 dwYSize*: int32 dwXCountChars*: int32 dwYCountChars*: int32 dwFillAttribute*: int32 dwFlags*: int32 wShowWindow*: int16 cbReserved2*: int16 lpReserved2*: pointer hStdInput*: Handle hStdOutput*: Handle hStdError*: Handle- Исходный код Редактировать
PROCESS_INFORMATION {...}{.final, pure.} = object hProcess*: Handle hThread*: Handle dwProcessId*: int32 dwThreadId*: int32- Исходный код Редактировать
FILETIME {...}{.final, pure.} = object dwLowDateTime*: DWORD dwHighDateTime*: DWORD- НЕ МОЖЕТ БЫТЬ int64 ИЗ-ЗА ВЫРАВНИВАНИЯ Исходный код Редактировать
BY_HANDLE_FILE_INFORMATION {...}{.final, pure.} = object dwFileAttributes*: DWORD ftCreationTime*: FILETIME ftLastAccessTime*: FILETIME ftLastWriteTime*: FILETIME dwVolumeSerialNumber*: DWORD nFileSizeHigh*: DWORD nFileSizeLow*: DWORD nNumberOfLinks*: DWORD nFileIndexHigh*: DWORD nFileIndexLow*: DWORD- Исходный код Редактировать
OSVERSIONINFO {...}{.final, pure.} = object dwOSVersionInfoSize*: DWORD dwMajorVersion*: DWORD dwMinorVersion*: DWORD dwBuildNumber*: DWORD dwPlatformId*: DWORD szCSDVersion*: array[0 .. 127, WinChar]- Исходный код Редактировать
Protoent = object p_name*: cstring p_aliases*: cstringArray p_proto*: cshort
- Исходный код Редактировать
WIN32_FIND_DATA {...}{.pure.} = object dwFileAttributes*: int32 ftCreationTime*: FILETIME ftLastAccessTime*: FILETIME ftLastWriteTime*: FILETIME nFileSizeHigh*: int32 nFileSizeLow*: int32 dwReserved0: int32 dwReserved1: int32 cFileName*: array[0 .. 260 - 1, WinChar] cAlternateFileName*: array[0 .. 13, WinChar]- Исходный код Редактировать
SocketHandle = distinct int
- Исходный код Редактировать
WSAData {...}{.importc: "WSADATA", header: "winsock2.h".} = object wVersion, wHighVersion: int16 szDescription: array[0 .. WSADESCRIPTION_LEN, char] szSystemStatus: array[0 .. WSASYS_STATUS_LEN, char] iMaxSockets, iMaxUdpDg: int16 lpVendorInfo: cstring- Исходный код Редактировать
SockAddr {...}{.importc: "SOCKADDR", header: "winsock2.h".} = object sa_family*: uint16 sa_data*: array[0 .. 13, char]- Исходный код Редактировать
InAddr {...}{.importc: "IN_ADDR", header: "winsock2.h".} = object s_addr*: uint32- Исходный код Редактировать
Sockaddr_in {...}{.importc: "SOCKADDR_IN", header: "winsock2.h".} = object sin_family*: uint16 sin_port*: uint16 sin_addr*: InAddr sin_zero*: array[0 .. 7, char]- Исходный код Редактировать
In6_addr {...}{.importc: "IN6_ADDR", header: "winsock2.h".} = object bytes* {...}{.importc: "u.Byte".}: array[0 .. 15, char]- Исходный код Редактировать
Sockaddr_in6 {...}{.importc: "SOCKADDR_IN6", header: "ws2tcpip.h".} = object sin6_family*: uint16 sin6_port*: uint16 sin6_flowinfo*: int32 sin6_addr*: In6_addr sin6_scope_id*: int32- Исходный код Редактировать
Sockaddr_storage {...}{.importc: "SOCKADDR_STORAGE", header: "winsock2.h".} = object ss_family*: uint16 ss_pad1: array[6, byte] ss_align: int64 ss_pad2: array[112, byte]- Исходный код Редактировать
Servent = object s_name*: cstring s_aliases*: cstringArray when defined(cpu64): s_proto*: cstring s_port*: int16 else: s_port*: int16 s_proto*: cstring- Исходный код Редактировать
Hostent = object h_name*: cstring h_aliases*: cstringArray h_addrtype*: int16 h_length*: int16 h_addr_list*: cstringArray
- Исходный код Редактировать
TFdSet = object fd_count*: cint fd_array*: array[0 .. 64 - 1, SocketHandle]
- Исходный код Редактировать
AddrInfo = object ai_flags*: cint ## Input flags. ai_family*: cint ## Address family of socket. ai_socktype*: cint ## Socket type. ai_protocol*: cint ## Protocol of socket. ai_addrlen*: csize_t ## Length of socket address. ai_canonname*: cstring ## Canonical name of service location. ai_addr*: ptr SockAddr ## Socket address of socket. ai_next*: ptr AddrInfo ## Pointer to next in list.
- Исходный код Редактировать
SockLen = cuint
- Исходный код Редактировать
Timeval = object tv_sec*, tv_usec*: int32
- Исходный код Редактировать
WOHandleArray = array[0 .. 0x00000040 - 1, Handle]
- Исходный код Редактировать
PWOHandleArray = ptr WOHandleArray
- Исходный код Редактировать
WinSizeT = uint64
- Исходный код Редактировать
OVERLAPPED {...}{.pure, inheritable.} = object internal*: PULONG internalHigh*: PULONG offset*: DWORD offsetHigh*: DWORD hEvent*: Handle- Исходный код Редактировать
POVERLAPPED = ptr OVERLAPPED
- Исходный код Редактировать
POVERLAPPED_COMPLETION_ROUTINE = proc (para1: DWORD; para2: DWORD; para3: POVERLAPPED) {...}{.stdcall.}- Исходный код Редактировать
GUID {...}{.final, pure.} = object D1*: int32 D2*: int16 D3*: int16 D4*: array[0 .. 7, int8]- Исходный код Редактировать
TWSABuf {...}{.importc: "WSABUF", header: "winsock2.h".} = object len*: ULONG buf*: cstring- Исходный код Редактировать
WSAPROC_ACCEPTEX = proc (sListenSocket: SocketHandle; sAcceptSocket: SocketHandle; lpOutputBuffer: pointer; dwReceiveDataLength: DWORD; dwLocalAddressLength: DWORD; dwRemoteAddressLength: DWORD; lpdwBytesReceived: ptr DWORD; lpOverlapped: POVERLAPPED): bool {...}{. stdcall, gcsafe, raises: [].}- Исходный код Редактировать
WSAPROC_CONNECTEX = proc (s: SocketHandle; name: ptr SockAddr; namelen: cint; lpSendBuffer: pointer; dwSendDataLength: DWORD; lpdwBytesSent: ptr DWORD; lpOverlapped: POVERLAPPED): bool {...}{. stdcall, gcsafe, raises: [].}
- Источник Редактировать
WSAPROC_GETACCEPTEXSOCKADDRS = proc (lpOutputBuffer: pointer; dwReceiveDataLength: DWORD; dwLocalAddressLength: DWORD; dwRemoteAddressLength: DWORD; LocalSockaddr: ptr PSockAddr; LocalSockaddrLength: ptr cint; RemoteSockaddr: ptr PSockAddr; RemoteSockaddrLength: ptr cint) {...}{.stdcall, gcsafe, raises: [].}- Источник Редактировать
WAITORTIMERCALLBACK = proc (para1: pointer; para2: int32): void {...}{.stdcall.}- Источник Редактировать
KEY_EVENT_RECORD {...}{.final, pure.} = object eventType*: int16 bKeyDown*: WINBOOL wRepeatCount*: int16 wVirtualKeyCode*: int16 wVirtualScanCode*: int16 uChar*: int16 dwControlKeyState*: DWORD- Источник Редактировать
LPFIBER_START_ROUTINE = proc (param: pointer): void {...}{.stdcall.}- Источник Редактировать
LPFILETIME = ptr FILETIME
- Источник Редактировать
Переменные
SOMAXCONN: cint
- Источник Редактировать
INVALID_SOCKET: SocketHandle
- Источник Редактировать
SOL_SOCKET: cint
- Источник Редактировать
SO_DEBUG: cint
- включить запись отладочной информации Источник Редактировать
SO_ACCEPTCONN: cint
- Источник Редактировать
SO_REUSEADDR: cint
- Источник Редактировать
SO_REUSEPORT: cint
- Источник Редактировать
SO_KEEPALIVE: cint
- Источник Редактировать
SO_DONTROUTE: cint
- Источник Редактировать
SO_BROADCAST: cint
- Источник Редактировать
SO_USELOOPBACK: cint
- Источник Редактировать
SO_LINGER: cint
- Источник Редактировать
SO_OOBINLINE: cint
- Источник Редактировать
SO_DONTLINGER: cint
- Источник Редактировать
SO_EXCLUSIVEADDRUSE: cint
- Источник Редактировать
SO_ERROR: cint
- Источник Редактировать
TCP_NODELAY: cint
- Источник Редактировать
WSAID_CONNECTEX: GUID = GUID(D1: 0x25A207B9, D2: 0xDDF3'i16, D3: 0x00004660, D4: [ 0x8E'i8, 0xE9'i8, 0x76'i8, 0xE5'i8, 0x8C'i8, 0x74'i8, 0x06'i8, 0x3E'i8])- Источник Редактировать
WSAID_ACCEPTEX: GUID = GUID(D1: 0xB5367DF1'i32, D2: 0xCBAC'i16, D3: 0x000011CF, D4: [ 0x95'i8, 0xCA'i8, 0x00'i8, 0x80'i8, 0x5F'i8, 0x48'i8, 0xA1'i8, 0x92'i8])- Источник Редактировать
WSAID_GETACCEPTEXSOCKADDRS: GUID = GUID(D1: 0xB5367DF2'i32, D2: 0xCBAC'i16, D3: 0x000011CF, D4: [0x95'i8, 0xCA'i8, 0x00'i8, 0x80'i8, 0x5F'i8, 0x48'i8, 0xA1'i8, 0x92'i8])- Источник Редактировать
Константы
useWinUnicode = true
- Исходный код Редактировать
STARTF_USESHOWWINDOW = 1'i32
- Исходный код Редактировать
STARTF_USESTDHANDLES = 256'i32
- Исходный код Редактировать
HIGH_PRIORITY_CLASS = 128'i32
- Исходный код Редактировать
IDLE_PRIORITY_CLASS = 64'i32
- Исходный код Редактировать
NORMAL_PRIORITY_CLASS = 32'i32
- Исходный код Редактировать
REALTIME_PRIORITY_CLASS = 256'i32
- Исходный код Редактировать
WAIT_OBJECT_0 = 0'i32
- Исходный код Редактировать
WAIT_TIMEOUT = 0x00000102'i32
- Исходный код Редактировать
WAIT_FAILED = 0xFFFFFFFF'i32
- Исходный код Редактировать
INFINITE = -1'i32
- Исходный код Редактировать
STILL_ACTIVE = 0x00000103'i32
- Исходный код Редактировать
STD_INPUT_HANDLE = -10'i32
- Исходный код Редактировать
STD_OUTPUT_HANDLE = -11'i32
- Исходный код Редактировать
STD_ERROR_HANDLE = -12'i32
- Исходный код Редактировать
DETACHED_PROCESS = 8'i32
- Исходный код Редактировать
SW_SHOWNORMAL = 1'i32
- Исходный код Редактировать
INVALID_HANDLE_VALUE = -1
- Исходный код Редактировать
CREATE_UNICODE_ENVIRONMENT = 1024'i32
- Исходный код Редактировать
PIPE_ACCESS_DUPLEX = 0x00000003'i32
- Исходный код Редактировать
PIPE_ACCESS_INBOUND = 1'i32
- Исходный код Редактировать
PIPE_ACCESS_OUTBOUND = 2'i32
- Исходный код Редактировать
PIPE_NOWAIT = 0x00000001'i32
- Исходный код Редактировать
SYNCHRONIZE = 0x00100000'i32
- Исходный код Редактировать
CREATE_NO_WINDOW = 0x08000000'i32
- Исходный код Редактировать
HANDLE_FLAG_INHERIT = 0x00000001'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_READONLY = 0x00000001'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_HIDDEN = 0x00000002'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_SYSTEM = 0x00000004'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_DIRECTORY = 0x00000010'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_ARCHIVE = 0x00000020'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_DEVICE = 0x00000040'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_NORMAL = 0x00000080'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_TEMPORARY = 0x00000100'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_SPARSE_FILE = 0x00000200'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_REPARSE_POINT = 0x00000400'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_COMPRESSED = 0x00000800'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_OFFLINE = 0x00001000'i32
- Исходный код Редактировать
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = 0x00002000'i32
- Исходный код Редактировать
FILE_FLAG_FIRST_PIPE_INSTANCE = 0x00080000'i32
- Исходный код Редактировать
FILE_FLAG_OPEN_NO_RECALL = 0x00100000'i32
- Исходный код Редактировать
FILE_FLAG_OPEN_REPARSE_POINT = 0x00200000'i32
- Исходный код Редактировать
FILE_FLAG_POSIX_SEMANTICS = 0x01000000'i32
- Исходный код Редактировать
FILE_FLAG_BACKUP_SEMANTICS = 0x02000000'i32
- Исходный код Редактировать
FILE_FLAG_DELETE_ON_CLOSE = 0x04000000'i32
- Исходный код Изменить
FILE_FLAG_SEQUENTIAL_SCAN = 0x08000000'i32
- Исходный код Изменить
FILE_FLAG_RANDOM_ACCESS = 0x10000000'i32
- Исходный код Изменить
FILE_FLAG_NO_BUFFERING = 0x20000000'i32
- Исходный код Изменить
FILE_FLAG_OVERLAPPED = 0x40000000'i32
- Исходный код Изменить
FILE_FLAG_WRITE_THROUGH = 0x80000000'i32
- Исходный код Изменить
MAX_PATH = 260
- Исходный код Изменить
MOVEFILE_COPY_ALLOWED = 0x00000002'i32
- Исходный код Изменить
MOVEFILE_CREATE_HARDLINK = 0x00000010'i32
- Исходный код Изменить
MOVEFILE_DELAY_UNTIL_REBOOT = 0x00000004'i32
- Исходный код Изменить
MOVEFILE_FAIL_IF_NOT_TRACKABLE = 0x00000020'i32
- Исходный код Изменить
MOVEFILE_REPLACE_EXISTING = 0x00000001'i32
- Исходный код Изменить
MOVEFILE_WRITE_THROUGH = 0x00000008'i32
- Исходный код Изменить
WSADESCRIPTION_LEN = 256
- Исходный код Изменить
WSASYS_STATUS_LEN = 128
- Исходный код Изменить
FD_SETSIZE = 64
- Исходный код Изменить
MSG_PEEK = 2
- Исходный код Изменить
INADDR_ANY = 0'u32
- Исходный код Изменить
INADDR_LOOPBACK = 0x7F000001
- Исходный код Изменить
INADDR_BROADCAST = -1
- Исходный код Изменить
INADDR_NONE = -1
- Исходный код Изменить
MAXIMUM_WAIT_OBJECTS = 0x00000040
- Исходный код Изменить
GENERIC_READ = 0x80000000'i32
- Исходный код Изменить
GENERIC_WRITE = 0x40000000'i32
- Исходный код Изменить
GENERIC_ALL = 0x10000000'i32
- Исходный код Изменить
FILE_SHARE_READ = 1'i32
- Исходный код Изменить
FILE_SHARE_DELETE = 4'i32
- Исходный код Изменить
FILE_SHARE_WRITE = 2'i32
- Исходный код Изменить
CREATE_ALWAYS = 2'i32
- Исходный код Изменить
CREATE_NEW = 1'i32
- Исходный код Изменить
OPEN_EXISTING = 3'i32
- Исходный код Изменить
OPEN_ALWAYS = 4'i32
- Исходный код Изменить
FILE_BEGIN = 0'i32
- Исходный код Изменить
INVALID_SET_FILE_POINTER = -1'i32
- Исходный код Изменить
NO_ERROR = 0'i32
- Исходный код Изменить
PAGE_NOACCESS = 0x00000001'i32
- Исходный код Изменить
PAGE_EXECUTE = 0x00000010'i32
- Исходный код Изменить
PAGE_EXECUTE_READ = 0x00000020'i32
- Исходный код Изменить
PAGE_EXECUTE_READWRITE = 0x00000040'i32
- Исходный код Изменить
PAGE_READONLY = 2'i32
- Исходный код Изменить
PAGE_READWRITE = 4'i32
- Исходный код Изменить
FILE_MAP_READ = 4'i32
- Исходный код Изменить
FILE_MAP_WRITE = 2'i32
- Исходный код Изменить
INVALID_FILE_SIZE = -1'i32
- Исходный код Изменить
DUPLICATE_SAME_ACCESS = 2
- Источник Изменить
FILE_READ_DATA = 0x00000001
- Источник Изменить
FILE_WRITE_DATA = 0x00000002
- Источник Изменить
ERROR_FILE_NOT_FOUND = 2
- Источник Изменить
ERROR_PATH_NOT_FOUND = 3
- Источник Изменить
ERROR_ACCESS_DENIED = 5
- Источник Изменить
ERROR_NO_MORE_FILES = 18
- Источник Изменить
ERROR_LOCK_VIOLATION = 33
- Источник Изменить
ERROR_HANDLE_EOF = 38
- Источник Изменить
ERROR_BAD_ARGUMENTS = 165
- Источник Изменить
ERROR_IO_PENDING = 997
- Источник Изменить
WSAECONNABORTED = 10053
- Источник Изменить
WSAEADDRINUSE = 10048
- Источник Изменить
WSAECONNRESET = 10054
- Источник Изменить
WSAEDISCON = 10101
- Источник Изменить
WSAENETRESET = 10052
- Источник Изменить
WSAETIMEDOUT = 10060
- Источник Изменить
WSANOTINITIALISED = 10093
- Источник Изменить
WSAENOTSOCK = 10038
- Источник Изменить
WSAEINPROGRESS = 10036
- Источник Изменить
WSAEINTR = 10004
- Источник Изменить
WSAEWOULDBLOCK = 10035
- Источник Изменить
WSAESHUTDOWN = 10058
- Источник Изменить
ERROR_NETNAME_DELETED = 64
- Источник Изменить
STATUS_PENDING = 0x00000103
- Источник Изменить
IOC_OUT = 0x40000000'i32
- Источник Изменить
IOC_IN = 0x80000000'i32
- Источник Изменить
IOC_WS2 = 0x08000000'i32
- Источник Изменить
IOC_INOUT = -1073741824'i32
- Источник Изменить
SIO_GET_EXTENSION_FUNCTION_POINTER = -939524090'i32
- Источник Изменить
SO_UPDATE_ACCEPT_CONTEXT = 0x0000700B
- Источник Изменить
AI_V4MAPPED = 0x00000008
- Источник Изменить
AF_UNSPEC = 0
- Источник Изменить
AF_INET = 2
- Источник Изменить
AF_INET6 = 23
- Источник Изменить
WT_EXECUTEDEFAULT = 0x00000000'i32
- Источник Изменить
WT_EXECUTEINIOTHREAD = 0x00000001'i32
- Источник Изменить
WT_EXECUTEINUITHREAD = 0x00000002'i32
- Источник Изменить
WT_EXECUTEINWAITTHREAD = 0x00000004'i32
- Источник Изменить
WT_EXECUTEONLYONCE = 0x00000008'i32
- Источник Изменить
WT_EXECUTELONGFUNCTION = 0x00000010'i32
- Источник Изменить
WT_EXECUTEINTIMERTHREAD = 0x00000020'i32
- Источник Изменить
WT_EXECUTEINPERSISTENTIOTHREAD = 0x00000040'i32
- Источник Изменить
WT_EXECUTEINPERSISTENTTHREAD = 0x00000080'i32
- Источник Изменить
WT_TRANSFER_IMPERSONATION = 0x00000100'i32
- Исходный код Изменить
PROCESS_TERMINATE = 0x00000001'i32
- Исходный код Изменить
PROCESS_CREATE_THREAD = 0x00000002'i32
- Исходный код Изменить
PROCESS_SET_SESSIONID = 0x00000004'i32
- Исходный код Изменить
PROCESS_VM_OPERATION = 0x00000008'i32
- Исходный код Изменить
PROCESS_VM_READ = 0x00000010'i32
- Исходный код Изменить
PROCESS_VM_WRITE = 0x00000020'i32
- Исходный код Изменить
PROCESS_DUP_HANDLE = 0x00000040'i32
- Исходный код Изменить
PROCESS_CREATE_PROCESS = 0x00000080'i32
- Исходный код Изменить
PROCESS_SET_QUOTA = 0x00000100'i32
- Исходный код Изменить
PROCESS_SET_INFORMATION = 0x00000200'i32
- Исходный код Изменить
PROCESS_QUERY_INFORMATION = 0x00000400'i32
- Исходный код Изменить
PROCESS_SUSPEND_RESUME = 0x00000800'i32
- Исходный код Изменить
PROCESS_QUERY_LIMITED_INFORMATION = 0x00001000'i32
- Исходный код Изменить
PROCESS_SET_LIMITED_INFORMATION = 0x00002000'i32
- Исходный код Изменить
FD_READ = 0x00000001'i32
- Исходный код Изменить
FD_WRITE = 0x00000002'i32
- Исходный код Изменить
FD_OOB = 0x00000004'i32
- Исходный код Изменить
FD_ACCEPT = 0x00000008'i32
- Исходный код Изменить
FD_CONNECT = 0x00000010'i32
- Исходный код Изменить
FD_CLOSE = 0x00000020'i32
- Исходный код Изменить
FD_QQS = 0x00000040'i32
- Исходный код Изменить
FD_GROUP_QQS = 0x00000080'i32
- Исходный код Изменить
FD_ROUTING_INTERFACE_CHANGE = 0x00000100'i32
- Исходный код Изменить
FD_ADDRESS_LIST_CHANGE = 0x00000200'i32
- Исходный код Изменить
FD_ALL_EVENTS = 0x000003FF'i32
- Исходный код Изменить
FIBER_FLAG_FLOAT_SWITCH = 0x00000001
- Исходный код Изменить
Функции
proc getVersionExW(lpVersionInfo: ptr OSVERSIONINFO): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "GetVersionExW", sideEffect.}- Исходный код Редактировать
proc getVersionExA(lpVersionInfo: ptr OSVERSIONINFO): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "GetVersionExA", sideEffect.}- Исходный код Редактировать
proc getVersion(): DWORD {...}{.stdcall, dynlib: "kernel32", importc: "GetVersion", sideEffect.}- Исходный код Редактировать
proc closeHandle(hObject: Handle): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "CloseHandle".}- Исходный код Редактировать
proc readFile(hFile: Handle; buffer: pointer; nNumberOfBytesToRead: int32; lpNumberOfBytesRead: ptr int32; lpOverlapped: pointer): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "ReadFile", sideEffect.}- Исходный код Редактировать
proc writeFile(hFile: Handle; buffer: pointer; nNumberOfBytesToWrite: int32; lpNumberOfBytesWritten: ptr int32; lpOverlapped: pointer): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "WriteFile", sideEffect.}- Исходный код Редактировать
proc createPipe(hReadPipe, hWritePipe: var Handle; lpPipeAttributes: var SECURITY_ATTRIBUTES; nSize: int32): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "CreatePipe", sideEffect.}- Исходный код Редактировать
proc createNamedPipe(lpName: WideCString; dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut: int32; lpSecurityAttributes: ptr SECURITY_ATTRIBUTES): Handle {...}{. stdcall, dynlib: "kernel32", importc: "CreateNamedPipeW", sideEffect.}- Исходный код Редактировать
proc peekNamedPipe(hNamedPipe: Handle; lpBuffer: pointer = nil; nBufferSize: int32 = 0; lpBytesRead: ptr int32 = nil; lpTotalBytesAvail: ptr int32 = nil; lpBytesLeftThisMessage: ptr int32 = nil): bool {...}{.stdcall, dynlib: "kernel32", importc: "PeekNamedPipe".}- Исходный код Редактировать
proc createProcessW(lpApplicationName, lpCommandLine: WideCString; lpProcessAttributes: ptr SECURITY_ATTRIBUTES; lpThreadAttributes: ptr SECURITY_ATTRIBUTES; bInheritHandles: WINBOOL; dwCreationFlags: int32; lpEnvironment, lpCurrentDirectory: WideCString; lpStartupInfo: var STARTUPINFO; lpProcessInformation: var PROCESS_INFORMATION): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "CreateProcessW", sideEffect.}- Исходный код Редактировать
proc suspendThread(hThread: Handle): int32 {...}{.stdcall, dynlib: "kernel32", importc: "SuspendThread", sideEffect.}- Исходный код Редактировать
proc resumeThread(hThread: Handle): int32 {...}{.stdcall, dynlib: "kernel32", importc: "ResumeThread", sideEffect.}- Исходный код Редактировать
proc waitForSingleObject(hHandle: Handle; dwMilliseconds: int32): int32 {...}{. stdcall, dynlib: "kernel32", importc: "WaitForSingleObject", sideEffect.}- Исходный код Редактировать
proc terminateProcess(hProcess: Handle; uExitCode: int): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "TerminateProcess", sideEffect.}- Исходный код Редактировать
proc getExitCodeProcess(hProcess: Handle; lpExitCode: var int32): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "GetExitCodeProcess".}- Исходный код Редактировать
proc getStdHandle(nStdHandle: int32): Handle {...}{.stdcall, dynlib: "kernel32", importc: "GetStdHandle".}- Исходный код Редактировать
proc setStdHandle(nStdHandle: int32; hHandle: Handle): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "SetStdHandle", sideEffect.}- Исходный код Редактировать
proc flushFileBuffers(hFile: Handle): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "FlushFileBuffers", sideEffect.}- Исходный код Редактировать
proc getLastError(): int32 {...}{.importc: "GetLastError", stdcall, dynlib: "kernel32", sideEffect.}- Исходный код Редактировать
proc setLastError(error: int32) {...}{.importc: "SetLastError", stdcall, dynlib: "kernel32", sideEffect.}- Исходный код Редактировать
proc formatMessageW(dwFlags: int32; lpSource: pointer; dwMessageId, dwLanguageId: int32; lpBuffer: pointer; nSize: int32; arguments: pointer): int32 {...}{. importc: "FormatMessageW", stdcall, dynlib: "kernel32".}- Исходный код Редактировать
proc localFree(p: pointer) {...}{.importc: "LocalFree", stdcall, dynlib: "kernel32".}- Исходный код Редактировать
proc getCurrentDirectoryW(nBufferLength: int32; lpBuffer: WideCString): int32 {...}{. importc: "GetCurrentDirectoryW", dynlib: "kernel32", stdcall, sideEffect.}- Исходный код Редактировать
proc setCurrentDirectoryW(lpPathName: WideCString): int32 {...}{. importc: "SetCurrentDirectoryW", dynlib: "kernel32", stdcall, sideEffect.}- Исходный код Редактировать
proc createDirectoryW(pathName: WideCString; security: pointer = nil): int32 {...}{. importc: "CreateDirectoryW", dynlib: "kernel32", stdcall, sideEffect.}- Исходный код Редактировать
proc removeDirectoryW(lpPathName: WideCString): int32 {...}{. importc: "RemoveDirectoryW", dynlib: "kernel32", stdcall, sideEffect.}- Исходный код Редактировать
proc setEnvironmentVariableW(lpName, lpValue: WideCString): int32 {...}{.stdcall, dynlib: "kernel32", importc: "SetEnvironmentVariableW", sideEffect.}- Исходный код Редактировать
proc getModuleFileNameW(handle: Handle; buf: WideCString; size: int32): int32 {...}{. importc: "GetModuleFileNameW", dynlib: "kernel32", stdcall.}- Исходный код Редактировать
proc createSymbolicLinkW(lpSymlinkFileName, lpTargetFileName: WideCString; flags: DWORD): int32 {...}{.importc: "CreateSymbolicLinkW", dynlib: "kernel32", stdcall, sideEffect.}- Исходный код Редактировать
proc createHardLinkW(lpFileName, lpExistingFileName: WideCString; security: pointer = nil): int32 {...}{. importc: "CreateHardLinkW", dynlib: "kernel32", stdcall, sideEffect.}- Исходный код Редактировать
proc findFirstFileW(lpFileName: WideCString; lpFindFileData: var WIN32_FIND_DATA): Handle {...}{. stdcall, dynlib: "kernel32", importc: "FindFirstFileW", sideEffect.}- Исходный код Редактировать
proc findNextFileW(hFindFile: Handle; lpFindFileData: var WIN32_FIND_DATA): int32 {...}{. stdcall, dynlib: "kernel32", importc: "FindNextFileW", sideEffect.}- Исходный код Редактировать
proc findClose(hFindFile: Handle) {...}{.stdcall, dynlib: "kernel32", importc: "FindClose".}- Исходный код Редактировать
proc getFullPathNameW(lpFileName: WideCString; nBufferLength: int32; lpBuffer: WideCString; lpFilePart: var WideCString): int32 {...}{. stdcall, dynlib: "kernel32", importc: "GetFullPathNameW", sideEffect.}- Исходный код Редактировать
proc getFileAttributesW(lpFileName: WideCString): int32 {...}{.stdcall, dynlib: "kernel32", importc: "GetFileAttributesW", sideEffect.}- Исходный код Редактировать
proc setFileAttributesW(lpFileName: WideCString; dwFileAttributes: int32): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "SetFileAttributesW", sideEffect.}- Исходный код Редактировать
proc copyFileW(lpExistingFileName, lpNewFileName: WideCString; bFailIfExists: WINBOOL): WINBOOL {...}{.importc: "CopyFileW", stdcall, dynlib: "kernel32", sideEffect.}- Исходный код Редактировать
proc moveFileW(lpExistingFileName, lpNewFileName: WideCString): WINBOOL {...}{. importc: "MoveFileW", stdcall, dynlib: "kernel32", sideEffect.}- Исходный код Редактировать
proc moveFileExW(lpExistingFileName, lpNewFileName: WideCString; flags: DWORD): WINBOOL {...}{. importc: "MoveFileExW", stdcall, dynlib: "kernel32", sideEffect.}- Исходный код Редактировать
proc getEnvironmentStringsW(): WideCString {...}{.stdcall, dynlib: "kernel32", importc: "GetEnvironmentStringsW", sideEffect.}- Исходный код Редактировать
proc freeEnvironmentStringsW(para1: WideCString): int32 {...}{.stdcall, dynlib: "kernel32", importc: "FreeEnvironmentStringsW", sideEffect.}- Исходный код Редактировать
proc getCommandLineW(): WideCString {...}{.importc: "GetCommandLineW", stdcall, dynlib: "kernel32", sideEffect.}- Исходный код Редактировать
proc rdFileTime(f: FILETIME): int64 {...}{.raises: [], tags: [].}- Исходный код Редактировать
proc rdFileSize(f: WIN32_FIND_DATA): int64 {...}{.raises: [], tags: [].}- Исходный код Редактировать
proc getSystemTimeAsFileTime(lpSystemTimeAsFileTime: var FILETIME) {...}{. importc: "GetSystemTimeAsFileTime", dynlib: "kernel32", stdcall, sideEffect.}
- Источник Редактировать
proc sleep(dwMilliseconds: int32) {...}{.stdcall, dynlib: "kernel32", importc: "Sleep", sideEffect.}- Источник Редактировать
proc shellExecuteW(hwnd: Handle; lpOperation, lpFile, lpParameters, lpDirectory: WideCString; nShowCmd: int32): Handle {...}{.stdcall, dynlib: "shell32.dll", importc: "ShellExecuteW", sideEffect.}- Источник Редактировать
proc getFileInformationByHandle(hFile: Handle; lpFileInformation: ptr BY_HANDLE_FILE_INFORMATION): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "GetFileInformationByHandle", sideEffect.}- Источник Редактировать
proc wsaGetLastError(): cint {...}{.importc: "WSAGetLastError", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc `==`(x, y: SocketHandle): bool {...}{.borrow.}- Источник Редактировать
proc getservbyname(name, proto: cstring): ptr Servent {...}{.stdcall, importc: "getservbyname", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc getservbyport(port: cint; proto: cstring): ptr Servent {...}{.stdcall, importc: "getservbyport", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc gethostbyaddr(ip: ptr InAddr; len: cuint; theType: cint): ptr Hostent {...}{. stdcall, importc: "gethostbyaddr", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc gethostbyname(name: cstring): ptr Hostent {...}{.stdcall, importc: "gethostbyname", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc gethostname(hostname: cstring; len: cint): cint {...}{.stdcall, importc: "gethostname", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc getprotobyname(name: cstring): ptr Protoent {...}{.stdcall, importc: "getprotobyname", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc getprotobynumber(proto: cint): ptr Protoent {...}{.stdcall, importc: "getprotobynumber", dynlib: ws2dll, sideEffect.}- Источник Редактировать
proc socket(af, typ, protocol: cint): SocketHandle {...}{.stdcall, importc: "socket", dynlib: ws2dll.}- Источник Редактировать
proc closesocket(s: SocketHandle): cint {...}{.stdcall, importc: "closesocket", dynlib: ws2dll.}- Источник Редактировать
proc accept(s: SocketHandle; a: ptr SockAddr; addrlen: ptr SockLen): SocketHandle {...}{. stdcall, importc: "accept", dynlib: ws2dll.}- Источник Редактировать
proc bindSocket(s: SocketHandle; name: ptr SockAddr; namelen: SockLen): cint {...}{. stdcall, importc: "bind", dynlib: ws2dll.}- Источник Редактировать
proc connect(s: SocketHandle; name: ptr SockAddr; namelen: SockLen): cint {...}{. stdcall, importc: "connect", dynlib: ws2dll.}- Источник Редактировать
proc getsockname(s: SocketHandle; name: ptr SockAddr; namelen: ptr SockLen): cint {...}{. stdcall, importc: "getsockname", dynlib: ws2dll.}- Источник Редактировать
proc getpeername(s: SocketHandle; name: ptr SockAddr; namelen: ptr SockLen): cint {...}{. stdcall, importc, dynlib: ws2dll.}- Источник Редактировать
proc getsockopt(s: SocketHandle; level, optname: cint; optval: pointer; optlen: ptr SockLen): cint {...}{.stdcall, importc: "getsockopt", dynlib: ws2dll.}- Источник Редактировать
proc setsockopt(s: SocketHandle; level, optname: cint; optval: pointer; optlen: SockLen): cint {...}{.stdcall, importc: "setsockopt", dynlib: ws2dll.}- Источник Редактировать
proc listen(s: SocketHandle; backlog: cint): cint {...}{.stdcall, importc: "listen", dynlib: ws2dll.}- Источник Редактировать
proc recv(s: SocketHandle; buf: pointer; len, flags: cint): cint {...}{.stdcall, importc: "recv", dynlib: ws2dll.}- Источник Редактировать
proc recvfrom(s: SocketHandle; buf: cstring; len, flags: cint; fromm: ptr SockAddr; fromlen: ptr SockLen): cint {...}{.stdcall, importc: "recvfrom", dynlib: ws2dll.}- Источник Редактировать
proc select(nfds: cint; readfds, writefds, exceptfds: ptr TFdSet; timeout: ptr Timeval): cint {...}{.stdcall, importc: "select", dynlib: ws2dll.}- Источник Редактировать
proc send(s: SocketHandle; buf: pointer; len, flags: cint): cint {...}{.stdcall, importc: "send", dynlib: ws2dll.}- Источник Редактировать
proc sendto(s: SocketHandle; buf: pointer; len, flags: cint; to: ptr SockAddr; tolen: SockLen): cint {...}{.stdcall, importc: "sendto", dynlib: ws2dll.}- Источник Редактировать
proc shutdown(s: SocketHandle; how: cint): cint {...}{.stdcall, importc: "shutdown", dynlib: ws2dll.}- Источник Редактировать
proc getnameinfo(a1: ptr SockAddr; a2: SockLen; a3: cstring; a4: SockLen; a5: cstring; a6: SockLen; a7: cint): cint {...}{.stdcall, importc: "getnameinfo", dynlib: ws2dll.}- Источник Редактировать
proc inet_addr(cp: cstring): uint32 {...}{.stdcall, importc: "inet_addr", dynlib: ws2dll.}- Источник Редактировать
proc FD_ISSET(socket: SocketHandle; set: var TFdSet): cint {...}{.raises: [], tags: [].}- Источник Редактировать
proc FD_SET(socket: SocketHandle; s: var TFdSet) {...}{.raises: [], tags: [].}- Источник Редактировать
proc FD_ZERO(s: var TFdSet) {...}{.raises: [], tags: [].}- Источник Редактировать
proc wsaStartup(wVersionRequired: int16; WSData: ptr WSAData): cint {...}{.stdcall, importc: "WSAStartup", dynlib: ws2dll.}- Источник Редактировать
proc getaddrinfo(nodename, servname: cstring; hints: ptr AddrInfo; res: var ptr AddrInfo): cint {...}{.stdcall, importc: "getaddrinfo", dynlib: ws2dll.}- Источник Редактировать
proc freeaddrinfo(ai: ptr AddrInfo) {...}{.stdcall, importc: "freeaddrinfo", dynlib: ws2dll.}- Источник Редактировать
proc inet_ntoa(i: InAddr): cstring {...}{.stdcall, importc, dynlib: ws2dll.}- Источник Редактировать
proc waitForMultipleObjects(nCount: DWORD; lpHandles: PWOHandleArray; bWaitAll: WINBOOL; dwMilliseconds: DWORD): DWORD {...}{. stdcall, dynlib: "kernel32", importc: "WaitForMultipleObjects".}- Источник Редактировать
proc duplicateHandle(hSourceProcessHandle: Handle; hSourceHandle: Handle; hTargetProcessHandle: Handle; lpTargetHandle: ptr Handle; dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; dwOptions: DWORD): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "DuplicateHandle".}- Источник Редактировать
proc getHandleInformation(hObject: Handle; lpdwFlags: ptr DWORD): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "GetHandleInformation".}- Источник Редактировать
proc setHandleInformation(hObject: Handle; dwMask: DWORD; dwFlags: DWORD): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "SetHandleInformation".}- Источник Редактировать
proc getCurrentProcess(): Handle {...}{.stdcall, dynlib: "kernel32", importc: "GetCurrentProcess".}- Источник Редактировать
proc createFileW(lpFileName: WideCString; dwDesiredAccess, dwShareMode: DWORD; lpSecurityAttributes: pointer; dwCreationDisposition, dwFlagsAndAttributes: DWORD; hTemplateFile: Handle): Handle {...}{.stdcall, dynlib: "kernel32", importc: "CreateFileW".}- Источник Редактировать
proc deleteFileW(pathName: WideCString): int32 {...}{.importc: "DeleteFileW", dynlib: "kernel32", stdcall.}
- Исходный код Изменить
proc createFileA(lpFileName: cstring; dwDesiredAccess, dwShareMode: DWORD; lpSecurityAttributes: pointer; dwCreationDisposition, dwFlagsAndAttributes: DWORD; hTemplateFile: Handle): Handle {...}{.stdcall, dynlib: "kernel32", importc: "CreateFileA".}- Исходный код Изменить
proc deleteFileA(pathName: cstring): int32 {...}{.importc: "DeleteFileA", dynlib: "kernel32", stdcall.}- Исходный код Изменить
proc setEndOfFile(hFile: Handle): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "SetEndOfFile".}- Исходный код Изменить
proc setFilePointer(hFile: Handle; lDistanceToMove: LONG; lpDistanceToMoveHigh: ptr LONG; dwMoveMethod: DWORD): DWORD {...}{. stdcall, dynlib: "kernel32", importc: "SetFilePointer".}- Исходный код Изменить
proc getFileSize(hFile: Handle; lpFileSizeHigh: ptr DWORD): DWORD {...}{.stdcall, dynlib: "kernel32", importc: "GetFileSize".}- Исходный код Изменить
proc mapViewOfFileEx(hFileMappingObject: Handle; dwDesiredAccess: DWORD; dwFileOffsetHigh, dwFileOffsetLow: DWORD; dwNumberOfBytesToMap: WinSizeT; lpBaseAddress: pointer): pointer {...}{. stdcall, dynlib: "kernel32", importc: "MapViewOfFileEx".}- Исходный код Изменить
proc createFileMappingW(hFile: Handle; lpFileMappingAttributes: pointer; flProtect, dwMaximumSizeHigh: DWORD; dwMaximumSizeLow: DWORD; lpName: pointer): Handle {...}{. stdcall, dynlib: "kernel32", importc: "CreateFileMappingW".}- Исходный код Изменить
proc unmapViewOfFile(lpBaseAddress: pointer): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "UnmapViewOfFile".}- Исходный код Изменить
proc flushViewOfFile(lpBaseAddress: pointer; dwNumberOfBytesToFlush: DWORD): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "FlushViewOfFile".}- Исходный код Изменить
proc createIoCompletionPort(FileHandle: Handle; ExistingCompletionPort: Handle; CompletionKey: ULONG_PTR; NumberOfConcurrentThreads: DWORD): Handle {...}{.stdcall, dynlib: "kernel32", importc: "CreateIoCompletionPort".}- Исходный код Изменить
proc getQueuedCompletionStatus(CompletionPort: Handle; lpNumberOfBytesTransferred: PDWORD; lpCompletionKey: PULONG_PTR; lpOverlapped: ptr POVERLAPPED; dwMilliseconds: DWORD): WINBOOL {...}{.stdcall, dynlib: "kernel32", importc: "GetQueuedCompletionStatus".}- Исходный код Изменить
proc getOverlappedResult(hFile: Handle; lpOverlapped: POVERLAPPED; lpNumberOfBytesTransferred: var DWORD; bWait: WINBOOL): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "GetOverlappedResult".}- Исходный код Изменить
proc WSAIoctl(s: SocketHandle; dwIoControlCode: DWORD; lpvInBuffer: pointer; cbInBuffer: DWORD; lpvOutBuffer: pointer; cbOutBuffer: DWORD; lpcbBytesReturned: PDWORD; lpOverlapped: POVERLAPPED; lpCompletionRoutine: POVERLAPPED_COMPLETION_ROUTINE): cint {...}{. stdcall, importc: "WSAIoctl", dynlib: "Ws2_32.dll".}- Исходный код Изменить
proc WSARecv(s: SocketHandle; buf: ptr TWSABuf; bufCount: DWORD; bytesReceived, flags: PDWORD; lpOverlapped: POVERLAPPED; completionProc: POVERLAPPED_COMPLETION_ROUTINE): cint {...}{.stdcall, importc: "WSARecv", dynlib: "Ws2_32.dll".}- Исходный код Изменить
proc WSARecvFrom(s: SocketHandle; buf: ptr TWSABuf; bufCount: DWORD; bytesReceived: PDWORD; flags: PDWORD; name: ptr SockAddr; namelen: ptr cint; lpOverlapped: POVERLAPPED; completionProc: POVERLAPPED_COMPLETION_ROUTINE): cint {...}{. stdcall, importc: "WSARecvFrom", dynlib: "Ws2_32.dll".}- Исходный код Изменить
proc WSASend(s: SocketHandle; buf: ptr TWSABuf; bufCount: DWORD; bytesSent: PDWORD; flags: DWORD; lpOverlapped: POVERLAPPED; completionProc: POVERLAPPED_COMPLETION_ROUTINE): cint {...}{.stdcall, importc: "WSASend", dynlib: "Ws2_32.dll".}- Исходный код Изменить
proc WSASendTo(s: SocketHandle; buf: ptr TWSABuf; bufCount: DWORD; bytesSent: PDWORD; flags: DWORD; name: ptr SockAddr; namelen: cint; lpOverlapped: POVERLAPPED; completionProc: POVERLAPPED_COMPLETION_ROUTINE): cint {...}{.stdcall, importc: "WSASendTo", dynlib: "Ws2_32.dll".}- Исходный код Изменить
proc get_osfhandle(fd: FileHandle): Handle {...}{.importc: "_get_osfhandle", header: "<io.h>".}- Исходный код Изменить
proc getSystemTimes(lpIdleTime, lpKernelTime, lpUserTime: var FILETIME): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "GetSystemTimes".}- Исходный код Изменить
proc getProcessTimes(hProcess: Handle; lpCreationTime, lpExitTime, lpKernelTime, lpUserTime: var FILETIME): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "GetProcessTimes".}- Исходный код Изменить
proc inet_ntop(family: cint; paddr: pointer; pStringBuffer: cstring; stringBufSize: int32): cstring {...}{.stdcall, raises: [Exception], tags: [].}- Исходный код Изменить
proc postQueuedCompletionStatus(CompletionPort: Handle; dwNumberOfBytesTransferred: DWORD; dwCompletionKey: ULONG_PTR; lpOverlapped: pointer): bool {...}{.stdcall, dynlib: "kernel32", importc: "PostQueuedCompletionStatus".}- Исходный код Изменить
proc registerWaitForSingleObject(phNewWaitObject: ptr Handle; hObject: Handle; Callback: WAITORTIMERCALLBACK; Context: pointer; dwMilliseconds: ULONG; dwFlags: ULONG): bool {...}{.stdcall, dynlib: "kernel32", importc: "RegisterWaitForSingleObject".}- Исходный код Изменить
proc unregisterWait(WaitHandle: Handle): DWORD {...}{.stdcall, dynlib: "kernel32", importc: "UnregisterWait".}- Исходный код Изменить
proc openProcess(dwDesiredAccess: DWORD; bInheritHandle: WINBOOL; dwProcessId: DWORD): Handle {...}{.stdcall, dynlib: "kernel32", importc: "OpenProcess".}- Исходный код Изменить
proc createEvent(lpEventAttributes: ptr SECURITY_ATTRIBUTES; bManualReset: DWORD; bInitialState: DWORD; lpName: ptr Utf16Char): Handle {...}{.stdcall, dynlib: "kernel32", importc: "CreateEventW".}- Исходный код Изменить
proc setEvent(hEvent: Handle): cint {...}{.stdcall, dynlib: "kernel32", importc: "SetEvent".}- Исходный код Изменить
proc wsaEventSelect(s: SocketHandle; hEventObject: Handle; lNetworkEvents: clong): cint {...}{. stdcall, importc: "WSAEventSelect", dynlib: "ws2_32.dll".}- Исходный код Изменить
proc wsaCreateEvent(): Handle {...}{.stdcall, importc: "WSACreateEvent", dynlib: "ws2_32.dll".}- Исходный код Изменить
proc wsaCloseEvent(hEvent: Handle): bool {...}{.stdcall, importc: "WSACloseEvent", dynlib: "ws2_32.dll".}- Исходный код Изменить
proc wsaResetEvent(hEvent: Handle): bool {...}{.stdcall, importc: "WSAResetEvent", dynlib: "ws2_32.dll".}- Исходный код Изменить
proc readConsoleInput(hConsoleInput: Handle; lpBuffer: pointer; nLength: cint; lpNumberOfEventsRead: ptr cint): cint {...}{.stdcall, dynlib: "kernel32", importc: "ReadConsoleInputW".}- Исходный код Изменить
proc CreateFiber(stackSize: int; fn: LPFIBER_START_ROUTINE; param: pointer): pointer {...}{. stdcall, discardable, dynlib: "kernel32", importc.}- Исходный код Изменить
proc CreateFiberEx(stkCommit: int; stkReserve: int; flags: int32; fn: LPFIBER_START_ROUTINE; param: pointer): pointer {...}{. stdcall, discardable, dynlib: "kernel32", importc.}- Исходный код Изменить
proc ConvertThreadToFiber(param: pointer): pointer {...}{.stdcall, discardable, dynlib: "kernel32", importc.}- Исходный код Изменить
proc ConvertThreadToFiberEx(param: pointer; flags: int32): pointer {...}{.stdcall, discardable, dynlib: "kernel32", importc.}- Исходный код Изменить
proc DeleteFiber(fiber: pointer): void {...}{.stdcall, discardable, dynlib: "kernel32", importc.}- Исходный код Изменить
proc SwitchToFiber(fiber: pointer): void {...}{.stdcall, discardable, dynlib: "kernel32", importc.}- Исходный код Изменить
proc GetCurrentFiber(): pointer {...}{.stdcall, importc, header: "windows.h".}- Исходный код Изменить
proc toFILETIME(t: int64): FILETIME {...}{.raises: [], tags: [].}- Преобразовать временную метку Windows-файла
tвFILETIME. Исходный код Изменить proc setFileTime(hFile: Handle; lpCreationTime: LPFILETIME; lpLastAccessTime: LPFILETIME; lpLastWriteTime: LPFILETIME): WINBOOL {...}{. stdcall, dynlib: "kernel32", importc: "SetFileTime".}- Исходный код Изменить
Шаблоны
template hasOverlappedIoCompleted(lpOverlapped): bool
- Исходный код Изменить
template WSAIORW(x, y): untyped
- Исходный код Изменить
© 2006–2021 Andreas Rumpf
Licensed under the MIT License.
https://nim-lang.org/docs/winlean.html