mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Added multiple genereted_def + fixed winproxy CreateFileW
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_NAME 0x00000003
|
||||
#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_SIZE 0x00000008 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_CREATION 0x00000040 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_EA 0x00000080
|
||||
#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100 // winnt
|
||||
#define FILE_NOTIFY_CHANGE_STREAM_NAME 0x00000200
|
||||
#define FILE_NOTIFY_CHANGE_STREAM_SIZE 0x00000400
|
||||
#define FILE_NOTIFY_CHANGE_STREAM_WRITE 0x00000800
|
||||
#define FILE_NOTIFY_VALID_MASK 0x00000fff
|
||||
|
||||
|
||||
|
||||
#define FILE_ACTION_ADDED 0x00000001 // winnt
|
||||
#define FILE_ACTION_REMOVED 0x00000002 // winnt
|
||||
#define FILE_ACTION_MODIFIED 0x00000003 // winnt
|
||||
#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004 // winnt
|
||||
#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005 // winnt
|
||||
#define FILE_ACTION_ADDED_STREAM 0x00000006
|
||||
#define FILE_ACTION_REMOVED_STREAM 0x00000007
|
||||
#define FILE_ACTION_MODIFIED_STREAM 0x00000008
|
||||
#define FILE_ACTION_REMOVED_BY_DELETE 0x00000009
|
||||
#define FILE_ACTION_ID_NOT_TUNNELLED 0x0000000A
|
||||
#define FILE_ACTION_TUNNELLED_ID_COLLISION 0x0000000B
|
||||
|
||||
|
||||
#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
|
||||
#define FILE_CASE_PRESERVED_NAMES 0x00000002
|
||||
#define FILE_UNICODE_ON_DISK 0x00000004
|
||||
#define FILE_PERSISTENT_ACLS 0x00000008
|
||||
#define FILE_FILE_COMPRESSION 0x00000010
|
||||
#define FILE_VOLUME_QUOTAS 0x00000020
|
||||
#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
|
||||
#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
|
||||
#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
|
||||
#define FILE_VOLUME_IS_COMPRESSED 0x00008000
|
||||
#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
|
||||
#define FILE_SUPPORTS_ENCRYPTION 0x00020000
|
||||
#define FILE_NAMED_STREAMS 0x00040000
|
||||
#define FILE_READ_ONLY_VOLUME 0x00080000
|
||||
#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000
|
||||
#define FILE_SUPPORTS_TRANSACTIONS 0x00200000
|
||||
#define FILE_SUPPORTS_HARD_LINKS 0x00400000
|
||||
#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
|
||||
#define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000
|
||||
#define FILE_SUPPORTS_USN_JOURNAL 0x02000000
|
||||
|
||||
|
||||
#define FILE_SHARE_READ 0x00000001
|
||||
#define FILE_SHARE_WRITE 0x00000002
|
||||
#define FILE_SHARE_DELETE 0x00000004
|
||||
|
||||
|
||||
#define FILE_ATTRIBUTE_READONLY 0x00000001
|
||||
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
|
||||
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
|
||||
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
|
||||
#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
|
||||
#define FILE_ATTRIBUTE_DEVICE 0x00000040
|
||||
#define FILE_ATTRIBUTE_NORMAL 0x00000080
|
||||
#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
|
||||
#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
|
||||
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
||||
#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
|
||||
#define FILE_ATTRIBUTE_OFFLINE 0x00001000
|
||||
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
|
||||
#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
|
||||
#define FILE_ATTRIBUTE_VIRTUAL 0x00010000
|
||||
@@ -8,6 +8,8 @@
|
||||
#define DNS_ATMA_MAX_ADDR_LENGTH ATM_ADDR_SIZE
|
||||
|
||||
|
||||
#define DNS_ADDR_MAX_SOCKADDR_LENGTH (32)
|
||||
|
||||
#define DNS_TYPE_ZERO 0x0000
|
||||
|
||||
// RFC 1034/1035
|
||||
|
||||
@@ -263,59 +263,11 @@
|
||||
#define TRUNCATE_EXISTING 5
|
||||
|
||||
|
||||
#define FILE_SHARE_READ 0x00000001
|
||||
#define FILE_SHARE_WRITE 0x00000002
|
||||
#define FILE_SHARE_DELETE 0x00000004
|
||||
#define FILE_ATTRIBUTE_READONLY 0x00000001
|
||||
#define FILE_ATTRIBUTE_HIDDEN 0x00000002
|
||||
#define FILE_ATTRIBUTE_SYSTEM 0x00000004
|
||||
#define FILE_ATTRIBUTE_DIRECTORY 0x00000010
|
||||
#define FILE_ATTRIBUTE_ARCHIVE 0x00000020
|
||||
#define FILE_ATTRIBUTE_DEVICE 0x00000040
|
||||
#define FILE_ATTRIBUTE_NORMAL 0x00000080
|
||||
#define FILE_ATTRIBUTE_TEMPORARY 0x00000100
|
||||
#define FILE_ATTRIBUTE_SPARSE_FILE 0x00000200
|
||||
#define FILE_ATTRIBUTE_REPARSE_POINT 0x00000400
|
||||
#define FILE_ATTRIBUTE_COMPRESSED 0x00000800
|
||||
#define FILE_ATTRIBUTE_OFFLINE 0x00001000
|
||||
#define FILE_ATTRIBUTE_NOT_CONTENT_INDEXED 0x00002000
|
||||
#define FILE_ATTRIBUTE_ENCRYPTED 0x00004000
|
||||
#define FILE_ATTRIBUTE_VIRTUAL 0x00010000
|
||||
#define FILE_NOTIFY_CHANGE_FILE_NAME 0x00000001
|
||||
#define FILE_NOTIFY_CHANGE_DIR_NAME 0x00000002
|
||||
#define FILE_NOTIFY_CHANGE_ATTRIBUTES 0x00000004
|
||||
#define FILE_NOTIFY_CHANGE_SIZE 0x00000008
|
||||
#define FILE_NOTIFY_CHANGE_LAST_WRITE 0x00000010
|
||||
#define FILE_NOTIFY_CHANGE_LAST_ACCESS 0x00000020
|
||||
#define FILE_NOTIFY_CHANGE_CREATION 0x00000040
|
||||
#define FILE_NOTIFY_CHANGE_SECURITY 0x00000100
|
||||
#define FILE_ACTION_ADDED 0x00000001
|
||||
#define FILE_ACTION_REMOVED 0x00000002
|
||||
#define FILE_ACTION_MODIFIED 0x00000003
|
||||
#define FILE_ACTION_RENAMED_OLD_NAME 0x00000004
|
||||
#define FILE_ACTION_RENAMED_NEW_NAME 0x00000005
|
||||
|
||||
|
||||
#define MAILSLOT_NO_MESSAGE (-1)
|
||||
#define MAILSLOT_WAIT_FOREVER (-1)
|
||||
#define FILE_CASE_SENSITIVE_SEARCH 0x00000001
|
||||
#define FILE_CASE_PRESERVED_NAMES 0x00000002
|
||||
#define FILE_UNICODE_ON_DISK 0x00000004
|
||||
#define FILE_PERSISTENT_ACLS 0x00000008
|
||||
#define FILE_FILE_COMPRESSION 0x00000010
|
||||
#define FILE_VOLUME_QUOTAS 0x00000020
|
||||
#define FILE_SUPPORTS_SPARSE_FILES 0x00000040
|
||||
#define FILE_SUPPORTS_REPARSE_POINTS 0x00000080
|
||||
#define FILE_SUPPORTS_REMOTE_STORAGE 0x00000100
|
||||
#define FILE_VOLUME_IS_COMPRESSED 0x00008000
|
||||
#define FILE_SUPPORTS_OBJECT_IDS 0x00010000
|
||||
#define FILE_SUPPORTS_ENCRYPTION 0x00020000
|
||||
#define FILE_NAMED_STREAMS 0x00040000
|
||||
#define FILE_READ_ONLY_VOLUME 0x00080000
|
||||
#define FILE_SEQUENTIAL_WRITE_ONCE 0x00100000
|
||||
#define FILE_SUPPORTS_TRANSACTIONS 0x00200000
|
||||
#define FILE_SUPPORTS_HARD_LINKS 0x00400000
|
||||
#define FILE_SUPPORTS_EXTENDED_ATTRIBUTES 0x00800000
|
||||
#define FILE_SUPPORTS_OPEN_BY_FILE_ID 0x01000000
|
||||
#define FILE_SUPPORTS_USN_JOURNAL 0x02000000
|
||||
|
||||
|
||||
|
||||
#define RRF_RT_REG_NONE 0x00000001
|
||||
|
||||
@@ -23,4 +23,51 @@ BOOL FindNextFileW(
|
||||
|
||||
BOOL FindClose(
|
||||
HANDLE hFindFile
|
||||
);
|
||||
|
||||
HANDLE FindFirstChangeNotificationA(
|
||||
LPCSTR lpPathName,
|
||||
BOOL bWatchSubtree,
|
||||
DWORD dwNotifyFilter
|
||||
);
|
||||
|
||||
HANDLE FindFirstChangeNotificationW(
|
||||
LPCWSTR lpPathName,
|
||||
BOOL bWatchSubtree,
|
||||
DWORD dwNotifyFilter
|
||||
);
|
||||
|
||||
BOOL FindNextChangeNotification(
|
||||
HANDLE hChangeHandle
|
||||
);
|
||||
|
||||
BOOL FindCloseChangeNotification(
|
||||
HANDLE hChangeHandle
|
||||
);
|
||||
|
||||
BOOL FindNextChangeNotification(
|
||||
HANDLE hChangeHandle
|
||||
);
|
||||
|
||||
BOOL ReadDirectoryChangesW(
|
||||
HANDLE hDirectory,
|
||||
LPVOID lpBuffer,
|
||||
DWORD nBufferLength,
|
||||
BOOL bWatchSubtree,
|
||||
DWORD dwNotifyFilter,
|
||||
LPDWORD lpBytesReturned,
|
||||
LPOVERLAPPED lpOverlapped,
|
||||
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine
|
||||
);
|
||||
|
||||
BOOL ReadDirectoryChangesExW(
|
||||
HANDLE hDirectory,
|
||||
LPVOID lpBuffer,
|
||||
DWORD nBufferLength,
|
||||
BOOL bWatchSubtree,
|
||||
DWORD dwNotifyFilter,
|
||||
LPDWORD lpBytesReturned,
|
||||
LPOVERLAPPED lpOverlapped,
|
||||
LPOVERLAPPED_COMPLETION_ROUTINE lpCompletionRoutine,
|
||||
READ_DIRECTORY_NOTIFY_INFORMATION_CLASS ReadDirectoryNotifyInformationClass
|
||||
);
|
||||
@@ -172,4 +172,82 @@ BOOL HttpSendRequestW(
|
||||
DWORD dwHeadersLength,
|
||||
LPVOID lpOptional,
|
||||
DWORD dwOptionalLength
|
||||
);
|
||||
);
|
||||
|
||||
|
||||
/// WinHTTP
|
||||
|
||||
HINTERNET WinHttpOpen(
|
||||
LPCWSTR pszAgentW,
|
||||
DWORD dwAccessType,
|
||||
LPCWSTR pszProxyW,
|
||||
LPCWSTR pszProxyBypassW,
|
||||
DWORD dwFlags
|
||||
);
|
||||
|
||||
BOOL WinHttpCloseHandle(
|
||||
HINTERNET hInternet
|
||||
);
|
||||
|
||||
|
||||
HINTERNET WinHttpConnect(
|
||||
HINTERNET hSession,
|
||||
LPCWSTR pswzServerName,
|
||||
INTERNET_PORT nServerPort,
|
||||
DWORD dwReserved
|
||||
);
|
||||
|
||||
|
||||
BOOL WinHttpQueryDataAvailable(
|
||||
HINTERNET hRequest,
|
||||
LPDWORD lpdwNumberOfBytesAvailable
|
||||
);
|
||||
|
||||
BOOL WinHttpReadData(
|
||||
HINTERNET hRequest,
|
||||
LPVOID lpBuffer,
|
||||
DWORD dwNumberOfBytesToRead,
|
||||
LPDWORD lpdwNumberOfBytesRead
|
||||
);
|
||||
|
||||
HINTERNET WinHttpOpenRequest(
|
||||
HINTERNET hConnect,
|
||||
LPCWSTR pwszVerb,
|
||||
LPCWSTR pwszObjectName,
|
||||
LPCWSTR pwszVersion,
|
||||
LPCWSTR pwszReferrer,
|
||||
LPCWSTR *ppwszAcceptTypes,
|
||||
DWORD dwFlags
|
||||
);
|
||||
|
||||
|
||||
BOOL WinHttpSendRequest(
|
||||
HINTERNET hRequest,
|
||||
LPCWSTR lpszHeaders,
|
||||
DWORD dwHeadersLength,
|
||||
LPVOID lpOptional,
|
||||
DWORD dwOptionalLength,
|
||||
DWORD dwTotalLength,
|
||||
DWORD_PTR dwContext
|
||||
);
|
||||
|
||||
BOOL WinHttpReceiveResponse(
|
||||
HINTERNET hRequest,
|
||||
LPVOID lpReserved
|
||||
);
|
||||
|
||||
BOOL WinHttpAddRequestHeaders(
|
||||
HINTERNET hRequest,
|
||||
LPCWSTR lpszHeaders,
|
||||
DWORD dwHeadersLength,
|
||||
DWORD dwModifiers
|
||||
);
|
||||
|
||||
BOOL WinHttpQueryHeaders(
|
||||
HINTERNET hRequest,
|
||||
DWORD dwInfoLevel,
|
||||
LPCWSTR pwszName,
|
||||
LPVOID lpBuffer,
|
||||
LPDWORD lpdwBufferLength,
|
||||
LPDWORD lpdwIndex
|
||||
);
|
||||
|
||||
@@ -59,4 +59,11 @@ DNS_STATUS DnsQuery_W(
|
||||
// PVOID pExtra,
|
||||
// PDNS_RECORD *ppQueryResults,
|
||||
// PVOID *pReserved
|
||||
// );
|
||||
// );
|
||||
|
||||
|
||||
DNS_STATUS DnsQueryEx(
|
||||
PDNS_QUERY_REQUEST pQueryRequest,
|
||||
PDNS_QUERY_RESULT pQueryResults,
|
||||
PDNS_QUERY_CANCEL pCancelHandle
|
||||
);
|
||||
@@ -238,6 +238,8 @@ ENUMRESTYPEPROCA = PVOID # Resources
|
||||
ENUMRESTYPEPROCW = PVOID # Resources
|
||||
LPSERVICE_MAIN_FUNCTIONA = PVOID
|
||||
LPSERVICE_MAIN_FUNCTIONW = PVOID
|
||||
LPOVERLAPPED_COMPLETION_ROUTINE = PVOID
|
||||
PDNS_QUERY_COMPLETION_ROUTINE = PVOID
|
||||
|
||||
|
||||
// Will be changed at import time
|
||||
|
||||
@@ -253,4 +253,34 @@ typedef struct _WIN32_FIND_DATAW {
|
||||
DWORD dwFileType;
|
||||
DWORD dwCreatorType;
|
||||
WORD wFinderFlags;
|
||||
} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
|
||||
} WIN32_FIND_DATAW, *PWIN32_FIND_DATAW, *LPWIN32_FIND_DATAW;
|
||||
|
||||
|
||||
typedef enum _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS {
|
||||
ReadDirectoryNotifyInformation,
|
||||
ReadDirectoryNotifyExtendedInformation
|
||||
} READ_DIRECTORY_NOTIFY_INFORMATION_CLASS, *PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS;
|
||||
|
||||
typedef struct _FILE_NOTIFY_INFORMATION {
|
||||
DWORD NextEntryOffset;
|
||||
DWORD Action;
|
||||
DWORD FileNameLength;
|
||||
WCHAR FileName[1];
|
||||
} FILE_NOTIFY_INFORMATION, *PFILE_NOTIFY_INFORMATION;
|
||||
|
||||
typedef struct _FILE_NOTIFY_EXTENDED_INFORMATION {
|
||||
DWORD NextEntryOffset;
|
||||
DWORD Action;
|
||||
LARGE_INTEGER CreationTime;
|
||||
LARGE_INTEGER LastModificationTime;
|
||||
LARGE_INTEGER LastChangeTime;
|
||||
LARGE_INTEGER LastAccessTime;
|
||||
LARGE_INTEGER AllocatedLength;
|
||||
LARGE_INTEGER FileSize;
|
||||
DWORD FileAttributes;
|
||||
DWORD ReparsePointTag;
|
||||
LARGE_INTEGER FileId;
|
||||
LARGE_INTEGER ParentFileId;
|
||||
DWORD FileNameLength;
|
||||
WCHAR FileName[1];
|
||||
} FILE_NOTIFY_EXTENDED_INFORMATION, *PFILE_NOTIFY_EXTENDED_INFORMATION;
|
||||
|
||||
@@ -22,4 +22,5 @@ typedef struct _INTERNET_BUFFERSW {
|
||||
DWORD dwBufferTotal;
|
||||
DWORD dwOffsetLow;
|
||||
DWORD dwOffsetHigh;
|
||||
} INTERNET_BUFFERSW, *LPINTERNET_BUFFERSW;
|
||||
} INTERNET_BUFFERSW, *LPINTERNET_BUFFERSW;
|
||||
|
||||
|
||||
@@ -818,4 +818,56 @@ typedef struct _DnsRecordW {
|
||||
DNS_UNKNOWN_DATA Unknown;
|
||||
PBYTE pDataPtr;
|
||||
} Data;
|
||||
} DNS_RECORDW, *PDNS_RECORDW;
|
||||
} DNS_RECORDW, *PDNS_RECORDW;
|
||||
|
||||
|
||||
typedef struct _DnsAddr
|
||||
{
|
||||
CHAR MaxSa[ DNS_ADDR_MAX_SOCKADDR_LENGTH ];
|
||||
DWORD DnsAddrUserDword[ 8 ];
|
||||
}
|
||||
DNS_ADDR, *PDNS_ADDR;
|
||||
|
||||
typedef struct _DnsAddrArray
|
||||
{
|
||||
DWORD MaxCount;
|
||||
DWORD AddrCount;
|
||||
DWORD Tag;
|
||||
WORD Family;
|
||||
WORD WordReserved;
|
||||
DWORD Flags;
|
||||
DWORD MatchFlag;
|
||||
DWORD Reserved1;
|
||||
DWORD Reserved2;
|
||||
DNS_ADDR AddrArray[ANY_SIZE];
|
||||
}
|
||||
DNS_ADDR_ARRAY, *PDNS_ADDR_ARRAY;
|
||||
|
||||
|
||||
typedef struct _DNS_QUERY_REQUEST
|
||||
{
|
||||
ULONG Version;
|
||||
PCWSTR QueryName;
|
||||
WORD QueryType;
|
||||
ULONG64 QueryOptions;
|
||||
PDNS_ADDR_ARRAY pDnsServerList;
|
||||
ULONG InterfaceIndex;
|
||||
PDNS_QUERY_COMPLETION_ROUTINE pQueryCompletionCallback;
|
||||
PVOID pQueryContext;
|
||||
} DNS_QUERY_REQUEST, *PDNS_QUERY_REQUEST;
|
||||
|
||||
typedef struct _DNS_QUERY_CANCEL
|
||||
{
|
||||
CHAR Reserved[32];
|
||||
} DNS_QUERY_CANCEL, *PDNS_QUERY_CANCEL;
|
||||
|
||||
|
||||
typedef struct _DNS_QUERY_RESULT
|
||||
{
|
||||
ULONG Version;
|
||||
DNS_STATUS QueryStatus;
|
||||
ULONG64 QueryOptions;
|
||||
// Might BE A or W record (don't know how to distinguish for now)
|
||||
PVOID pQueryRecords; // PDNS_RECORD pQueryRecords;
|
||||
PVOID Reserved;
|
||||
} DNS_QUERY_RESULT, *PDNS_QUERY_RESULT;
|
||||
@@ -833,6 +833,7 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'DIRECTORY_CREATE_SUBDIRECTORY',
|
||||
'DIRECTORY_QUERY',
|
||||
'DIRECTORY_TRAVERSE',
|
||||
'DNS_ADDR_MAX_SOCKADDR_LENGTH',
|
||||
'DNS_ATMA_FORMAT_AESA',
|
||||
'DNS_ATMA_FORMAT_E164',
|
||||
'DNS_ATMA_MAX_ADDR_LENGTH',
|
||||
@@ -1164,10 +1165,16 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FC_POINTER_DEREF',
|
||||
'FC_SIMPLE_POINTER',
|
||||
'FILE_ACTION_ADDED',
|
||||
'FILE_ACTION_ADDED_STREAM',
|
||||
'FILE_ACTION_ID_NOT_TUNNELLED',
|
||||
'FILE_ACTION_MODIFIED',
|
||||
'FILE_ACTION_MODIFIED_STREAM',
|
||||
'FILE_ACTION_REMOVED',
|
||||
'FILE_ACTION_REMOVED_BY_DELETE',
|
||||
'FILE_ACTION_REMOVED_STREAM',
|
||||
'FILE_ACTION_RENAMED_NEW_NAME',
|
||||
'FILE_ACTION_RENAMED_OLD_NAME',
|
||||
'FILE_ACTION_TUNNELLED_ID_COLLISION',
|
||||
'FILE_ADD_FILE',
|
||||
'FILE_ADD_SUBDIRECTORY',
|
||||
'FILE_ALL_ACCESS',
|
||||
@@ -1285,11 +1292,17 @@ windef = set(['ABOVE_NORMAL_PRIORITY_CLASS',
|
||||
'FILE_NOTIFY_CHANGE_ATTRIBUTES',
|
||||
'FILE_NOTIFY_CHANGE_CREATION',
|
||||
'FILE_NOTIFY_CHANGE_DIR_NAME',
|
||||
'FILE_NOTIFY_CHANGE_EA',
|
||||
'FILE_NOTIFY_CHANGE_FILE_NAME',
|
||||
'FILE_NOTIFY_CHANGE_LAST_ACCESS',
|
||||
'FILE_NOTIFY_CHANGE_LAST_WRITE',
|
||||
'FILE_NOTIFY_CHANGE_NAME',
|
||||
'FILE_NOTIFY_CHANGE_SECURITY',
|
||||
'FILE_NOTIFY_CHANGE_SIZE',
|
||||
'FILE_NOTIFY_CHANGE_STREAM_NAME',
|
||||
'FILE_NOTIFY_CHANGE_STREAM_SIZE',
|
||||
'FILE_NOTIFY_CHANGE_STREAM_WRITE',
|
||||
'FILE_NOTIFY_VALID_MASK',
|
||||
'FILE_NO_COMPRESSION',
|
||||
'FILE_NO_EA_KNOWLEDGE',
|
||||
'FILE_NO_INTERMEDIATE_BUFFERING',
|
||||
@@ -11620,6 +11633,8 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'DMA_Range_s',
|
||||
'DMA_Resource_s',
|
||||
'DNS_AAAA_DATA',
|
||||
'DNS_ADDR',
|
||||
'DNS_ADDR_ARRAY',
|
||||
'DNS_ATMA_DATA',
|
||||
'DNS_A_DATA',
|
||||
'DNS_CACHE_ENTRY',
|
||||
@@ -11644,6 +11659,9 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'DNS_OPT_DATA',
|
||||
'DNS_PTR_DATAA',
|
||||
'DNS_PTR_DATAW',
|
||||
'DNS_QUERY_CANCEL',
|
||||
'DNS_QUERY_REQUEST',
|
||||
'DNS_QUERY_RESULT',
|
||||
'DNS_RECORDA',
|
||||
'DNS_RECORDW',
|
||||
'DNS_RECORD_FLAGS',
|
||||
@@ -11727,6 +11745,8 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'FILE_MODE_INFORMATION',
|
||||
'FILE_NAME_INFORMATION',
|
||||
'FILE_NETWORK_OPEN_INFORMATION',
|
||||
'FILE_NOTIFY_EXTENDED_INFORMATION',
|
||||
'FILE_NOTIFY_INFORMATION',
|
||||
'FILE_POSITION_INFORMATION',
|
||||
'FILE_STANDARD_INFORMATION',
|
||||
'FILE_STREAM_INFORMATION',
|
||||
@@ -12111,6 +12131,8 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'PDMA_RANGE',
|
||||
'PDMA_RESOURCE',
|
||||
'PDNS_AAAA_DATA',
|
||||
'PDNS_ADDR',
|
||||
'PDNS_ADDR_ARRAY',
|
||||
'PDNS_ATMA_DATA',
|
||||
'PDNS_A_DATA',
|
||||
'PDNS_CACHE_ENTRY',
|
||||
@@ -12135,6 +12157,9 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'PDNS_OPT_DATA',
|
||||
'PDNS_PTR_DATAA',
|
||||
'PDNS_PTR_DATAW',
|
||||
'PDNS_QUERY_CANCEL',
|
||||
'PDNS_QUERY_REQUEST',
|
||||
'PDNS_QUERY_RESULT',
|
||||
'PDNS_RECORDA',
|
||||
'PDNS_RECORDW',
|
||||
'PDNS_RRSIG_DATAA',
|
||||
@@ -12208,6 +12233,8 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'PFILE_MODE_INFORMATION',
|
||||
'PFILE_NAME_INFORMATION',
|
||||
'PFILE_NETWORK_OPEN_INFORMATION',
|
||||
'PFILE_NOTIFY_EXTENDED_INFORMATION',
|
||||
'PFILE_NOTIFY_INFORMATION',
|
||||
'PFILE_POSITION_INFORMATION',
|
||||
'PFILE_STANDARD_INFORMATION',
|
||||
'PFILE_STREAM_INFORMATION',
|
||||
@@ -12827,6 +12854,11 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'_DEBUG_VALUE_TMP_SUBSTRUCT3',
|
||||
'_DEBUG_VALUE_TMP_UNION',
|
||||
'_DNS_CACHE_ENTRY',
|
||||
'_DNS_QUERY_CANCEL',
|
||||
'_DNS_QUERY_REQUEST',
|
||||
'_DNS_QUERY_RESULT',
|
||||
'_DnsAddr',
|
||||
'_DnsAddrArray',
|
||||
'_DnsRecordA',
|
||||
'_DnsRecordFlags',
|
||||
'_DnsRecordW',
|
||||
@@ -12887,6 +12919,8 @@ structs = set(['ACCESS_ALLOWED_ACE',
|
||||
'_FILE_MODE_INFORMATION',
|
||||
'_FILE_NAME_INFORMATION',
|
||||
'_FILE_NETWORK_OPEN_INFORMATION',
|
||||
'_FILE_NOTIFY_EXTENDED_INFORMATION',
|
||||
'_FILE_NOTIFY_INFORMATION',
|
||||
'_FILE_POSITION_INFORMATION',
|
||||
'_FILE_STANDARD_INFORMATION',
|
||||
'_FILE_STREAM_INFORMATION',
|
||||
@@ -13273,6 +13307,7 @@ enums = set(['ACCESS_MODE',
|
||||
'PPOLICY_INFORMATION_CLASS',
|
||||
'PPOLICY_LSA_SERVER_ROLE',
|
||||
'PPROCESS_MITIGATION_POLICY',
|
||||
'PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS',
|
||||
'PROCESSINFOCLASS',
|
||||
'PROCESS_MITIGATION_POLICY',
|
||||
'PSECURITY_IMPERSONATION_LEVEL',
|
||||
@@ -13281,6 +13316,7 @@ enums = set(['ACCESS_MODE',
|
||||
'PTOKEN_ELEVATION_TYPE',
|
||||
'PTOKEN_INFORMATION_CLASS',
|
||||
'PTOKEN_TYPE',
|
||||
'READ_DIRECTORY_NOTIFY_INFORMATION_CLASS',
|
||||
'RTL_PATH_TYPE',
|
||||
'SC_ENUM_TYPE',
|
||||
'SC_STATUS_TYPE',
|
||||
@@ -13377,6 +13413,7 @@ enums = set(['ACCESS_MODE',
|
||||
'_POLICY_LSA_SERVER_ROLE',
|
||||
'_PROCESSINFOCLASS',
|
||||
'_PROCESS_MITIGATION_POLICY',
|
||||
'_READ_DIRECTORY_NOTIFY_INFORMATION_CLASS',
|
||||
'_RTL_PATH_TYPE',
|
||||
'_SC_ENUM_TYPE',
|
||||
'_SC_STATUS_TYPE',
|
||||
@@ -13617,6 +13654,7 @@ functions = set(['AccessCheck',
|
||||
'DeviceIoControl',
|
||||
'DnsFree',
|
||||
'DnsGetCacheDataTable',
|
||||
'DnsQueryEx',
|
||||
'DnsQuery_A',
|
||||
'DnsQuery_W',
|
||||
'DuplicateHandle',
|
||||
@@ -13666,10 +13704,14 @@ functions = set(['AccessCheck',
|
||||
'ExitThread',
|
||||
'FileTimeToSystemTime',
|
||||
'FindClose',
|
||||
'FindCloseChangeNotification',
|
||||
'FindFirstChangeNotificationA',
|
||||
'FindFirstChangeNotificationW',
|
||||
'FindFirstFileA',
|
||||
'FindFirstFileW',
|
||||
'FindFirstVolumeA',
|
||||
'FindFirstVolumeW',
|
||||
'FindNextChangeNotification',
|
||||
'FindNextFileA',
|
||||
'FindNextFileW',
|
||||
'FindNextVolumeA',
|
||||
@@ -13974,6 +14016,8 @@ functions = set(['AccessCheck',
|
||||
'QueryServiceStatusEx',
|
||||
'QueryWorkingSet',
|
||||
'QueryWorkingSetEx',
|
||||
'ReadDirectoryChangesExW',
|
||||
'ReadDirectoryChangesW',
|
||||
'ReadEventLogA',
|
||||
'ReadEventLogW',
|
||||
'ReadFile',
|
||||
@@ -14158,6 +14202,16 @@ functions = set(['AccessCheck',
|
||||
'VirtualQueryEx',
|
||||
'WaitForDebugEvent',
|
||||
'WaitForSingleObject',
|
||||
'WinHttpAddRequestHeaders',
|
||||
'WinHttpCloseHandle',
|
||||
'WinHttpConnect',
|
||||
'WinHttpOpen',
|
||||
'WinHttpOpenRequest',
|
||||
'WinHttpQueryDataAvailable',
|
||||
'WinHttpQueryHeaders',
|
||||
'WinHttpReadData',
|
||||
'WinHttpReceiveResponse',
|
||||
'WinHttpSendRequest',
|
||||
'WinVerifyTrust',
|
||||
'WindowFromPoint',
|
||||
'Wow64DisableWow64FsRedirection',
|
||||
|
||||
@@ -548,6 +548,69 @@ EVENT_TRACE_FLAG_NETWORK_TCPIP = make_flag("EVENT_TRACE_FLAG_NETWORK_TCPIP", 0x0
|
||||
EVENT_TRACE_FLAG_REGISTRY = make_flag("EVENT_TRACE_FLAG_REGISTRY", 0x00020000)
|
||||
EVENT_TRACE_FLAG_DBGPRINT = make_flag("EVENT_TRACE_FLAG_DBGPRINT", 0x00040000)
|
||||
EVENT_TRACE_FLAG_VOLMGR = make_flag("EVENT_TRACE_FLAG_VOLMGR", 0x00200000)
|
||||
FILE_NOTIFY_CHANGE_FILE_NAME = make_flag("FILE_NOTIFY_CHANGE_FILE_NAME", 0x00000001)
|
||||
FILE_NOTIFY_CHANGE_DIR_NAME = make_flag("FILE_NOTIFY_CHANGE_DIR_NAME", 0x00000002)
|
||||
FILE_NOTIFY_CHANGE_NAME = make_flag("FILE_NOTIFY_CHANGE_NAME", 0x00000003)
|
||||
FILE_NOTIFY_CHANGE_ATTRIBUTES = make_flag("FILE_NOTIFY_CHANGE_ATTRIBUTES", 0x00000004)
|
||||
FILE_NOTIFY_CHANGE_SIZE = make_flag("FILE_NOTIFY_CHANGE_SIZE", 0x00000008)
|
||||
FILE_NOTIFY_CHANGE_LAST_WRITE = make_flag("FILE_NOTIFY_CHANGE_LAST_WRITE", 0x00000010)
|
||||
FILE_NOTIFY_CHANGE_LAST_ACCESS = make_flag("FILE_NOTIFY_CHANGE_LAST_ACCESS", 0x00000020)
|
||||
FILE_NOTIFY_CHANGE_CREATION = make_flag("FILE_NOTIFY_CHANGE_CREATION", 0x00000040)
|
||||
FILE_NOTIFY_CHANGE_EA = make_flag("FILE_NOTIFY_CHANGE_EA", 0x00000080)
|
||||
FILE_NOTIFY_CHANGE_SECURITY = make_flag("FILE_NOTIFY_CHANGE_SECURITY", 0x00000100)
|
||||
FILE_NOTIFY_CHANGE_STREAM_NAME = make_flag("FILE_NOTIFY_CHANGE_STREAM_NAME", 0x00000200)
|
||||
FILE_NOTIFY_CHANGE_STREAM_SIZE = make_flag("FILE_NOTIFY_CHANGE_STREAM_SIZE", 0x00000400)
|
||||
FILE_NOTIFY_CHANGE_STREAM_WRITE = make_flag("FILE_NOTIFY_CHANGE_STREAM_WRITE", 0x00000800)
|
||||
FILE_NOTIFY_VALID_MASK = make_flag("FILE_NOTIFY_VALID_MASK", 0x00000fff)
|
||||
FILE_ACTION_ADDED = make_flag("FILE_ACTION_ADDED", 0x00000001)
|
||||
FILE_ACTION_REMOVED = make_flag("FILE_ACTION_REMOVED", 0x00000002)
|
||||
FILE_ACTION_MODIFIED = make_flag("FILE_ACTION_MODIFIED", 0x00000003)
|
||||
FILE_ACTION_RENAMED_OLD_NAME = make_flag("FILE_ACTION_RENAMED_OLD_NAME", 0x00000004)
|
||||
FILE_ACTION_RENAMED_NEW_NAME = make_flag("FILE_ACTION_RENAMED_NEW_NAME", 0x00000005)
|
||||
FILE_ACTION_ADDED_STREAM = make_flag("FILE_ACTION_ADDED_STREAM", 0x00000006)
|
||||
FILE_ACTION_REMOVED_STREAM = make_flag("FILE_ACTION_REMOVED_STREAM", 0x00000007)
|
||||
FILE_ACTION_MODIFIED_STREAM = make_flag("FILE_ACTION_MODIFIED_STREAM", 0x00000008)
|
||||
FILE_ACTION_REMOVED_BY_DELETE = make_flag("FILE_ACTION_REMOVED_BY_DELETE", 0x00000009)
|
||||
FILE_ACTION_ID_NOT_TUNNELLED = make_flag("FILE_ACTION_ID_NOT_TUNNELLED", 0x0000000A)
|
||||
FILE_ACTION_TUNNELLED_ID_COLLISION = make_flag("FILE_ACTION_TUNNELLED_ID_COLLISION", 0x0000000B)
|
||||
FILE_CASE_SENSITIVE_SEARCH = make_flag("FILE_CASE_SENSITIVE_SEARCH", 0x00000001)
|
||||
FILE_CASE_PRESERVED_NAMES = make_flag("FILE_CASE_PRESERVED_NAMES", 0x00000002)
|
||||
FILE_UNICODE_ON_DISK = make_flag("FILE_UNICODE_ON_DISK", 0x00000004)
|
||||
FILE_PERSISTENT_ACLS = make_flag("FILE_PERSISTENT_ACLS", 0x00000008)
|
||||
FILE_FILE_COMPRESSION = make_flag("FILE_FILE_COMPRESSION", 0x00000010)
|
||||
FILE_VOLUME_QUOTAS = make_flag("FILE_VOLUME_QUOTAS", 0x00000020)
|
||||
FILE_SUPPORTS_SPARSE_FILES = make_flag("FILE_SUPPORTS_SPARSE_FILES", 0x00000040)
|
||||
FILE_SUPPORTS_REPARSE_POINTS = make_flag("FILE_SUPPORTS_REPARSE_POINTS", 0x00000080)
|
||||
FILE_SUPPORTS_REMOTE_STORAGE = make_flag("FILE_SUPPORTS_REMOTE_STORAGE", 0x00000100)
|
||||
FILE_VOLUME_IS_COMPRESSED = make_flag("FILE_VOLUME_IS_COMPRESSED", 0x00008000)
|
||||
FILE_SUPPORTS_OBJECT_IDS = make_flag("FILE_SUPPORTS_OBJECT_IDS", 0x00010000)
|
||||
FILE_SUPPORTS_ENCRYPTION = make_flag("FILE_SUPPORTS_ENCRYPTION", 0x00020000)
|
||||
FILE_NAMED_STREAMS = make_flag("FILE_NAMED_STREAMS", 0x00040000)
|
||||
FILE_READ_ONLY_VOLUME = make_flag("FILE_READ_ONLY_VOLUME", 0x00080000)
|
||||
FILE_SEQUENTIAL_WRITE_ONCE = make_flag("FILE_SEQUENTIAL_WRITE_ONCE", 0x00100000)
|
||||
FILE_SUPPORTS_TRANSACTIONS = make_flag("FILE_SUPPORTS_TRANSACTIONS", 0x00200000)
|
||||
FILE_SUPPORTS_HARD_LINKS = make_flag("FILE_SUPPORTS_HARD_LINKS", 0x00400000)
|
||||
FILE_SUPPORTS_EXTENDED_ATTRIBUTES = make_flag("FILE_SUPPORTS_EXTENDED_ATTRIBUTES", 0x00800000)
|
||||
FILE_SUPPORTS_OPEN_BY_FILE_ID = make_flag("FILE_SUPPORTS_OPEN_BY_FILE_ID", 0x01000000)
|
||||
FILE_SUPPORTS_USN_JOURNAL = make_flag("FILE_SUPPORTS_USN_JOURNAL", 0x02000000)
|
||||
FILE_SHARE_READ = make_flag("FILE_SHARE_READ", 0x00000001)
|
||||
FILE_SHARE_WRITE = make_flag("FILE_SHARE_WRITE", 0x00000002)
|
||||
FILE_SHARE_DELETE = make_flag("FILE_SHARE_DELETE", 0x00000004)
|
||||
FILE_ATTRIBUTE_READONLY = make_flag("FILE_ATTRIBUTE_READONLY", 0x00000001)
|
||||
FILE_ATTRIBUTE_HIDDEN = make_flag("FILE_ATTRIBUTE_HIDDEN", 0x00000002)
|
||||
FILE_ATTRIBUTE_SYSTEM = make_flag("FILE_ATTRIBUTE_SYSTEM", 0x00000004)
|
||||
FILE_ATTRIBUTE_DIRECTORY = make_flag("FILE_ATTRIBUTE_DIRECTORY", 0x00000010)
|
||||
FILE_ATTRIBUTE_ARCHIVE = make_flag("FILE_ATTRIBUTE_ARCHIVE", 0x00000020)
|
||||
FILE_ATTRIBUTE_DEVICE = make_flag("FILE_ATTRIBUTE_DEVICE", 0x00000040)
|
||||
FILE_ATTRIBUTE_NORMAL = make_flag("FILE_ATTRIBUTE_NORMAL", 0x00000080)
|
||||
FILE_ATTRIBUTE_TEMPORARY = make_flag("FILE_ATTRIBUTE_TEMPORARY", 0x00000100)
|
||||
FILE_ATTRIBUTE_SPARSE_FILE = make_flag("FILE_ATTRIBUTE_SPARSE_FILE", 0x00000200)
|
||||
FILE_ATTRIBUTE_REPARSE_POINT = make_flag("FILE_ATTRIBUTE_REPARSE_POINT", 0x00000400)
|
||||
FILE_ATTRIBUTE_COMPRESSED = make_flag("FILE_ATTRIBUTE_COMPRESSED", 0x00000800)
|
||||
FILE_ATTRIBUTE_OFFLINE = make_flag("FILE_ATTRIBUTE_OFFLINE", 0x00001000)
|
||||
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = make_flag("FILE_ATTRIBUTE_NOT_CONTENT_INDEXED", 0x00002000)
|
||||
FILE_ATTRIBUTE_ENCRYPTED = make_flag("FILE_ATTRIBUTE_ENCRYPTED", 0x00004000)
|
||||
FILE_ATTRIBUTE_VIRTUAL = make_flag("FILE_ATTRIBUTE_VIRTUAL", 0x00010000)
|
||||
X86_KGDT_NULL = make_flag("X86_KGDT_NULL", 0)
|
||||
X86_KGDT_R0_CODE = make_flag("X86_KGDT_R0_CODE", 8)
|
||||
X86_KGDT_R0_DATA = make_flag("X86_KGDT_R0_DATA", 16)
|
||||
@@ -589,6 +652,7 @@ ATM_ADDR_SIZE = make_flag("ATM_ADDR_SIZE", 20)
|
||||
DNS_ATMA_FORMAT_E164 = make_flag("DNS_ATMA_FORMAT_E164", ATM_E164)
|
||||
DNS_ATMA_FORMAT_AESA = make_flag("DNS_ATMA_FORMAT_AESA", ATM_AESA)
|
||||
DNS_ATMA_MAX_ADDR_LENGTH = make_flag("DNS_ATMA_MAX_ADDR_LENGTH", ATM_ADDR_SIZE)
|
||||
DNS_ADDR_MAX_SOCKADDR_LENGTH = make_flag("DNS_ADDR_MAX_SOCKADDR_LENGTH", ( 32 ))
|
||||
DNS_TYPE_ZERO = make_flag("DNS_TYPE_ZERO", 0x0000)
|
||||
DNS_TYPE_A = make_flag("DNS_TYPE_A", 0x0001)
|
||||
DNS_TYPE_NS = make_flag("DNS_TYPE_NS", 0x0002)
|
||||
@@ -1534,59 +1598,8 @@ CREATE_ALWAYS = make_flag("CREATE_ALWAYS", 2)
|
||||
OPEN_EXISTING = make_flag("OPEN_EXISTING", 3)
|
||||
OPEN_ALWAYS = make_flag("OPEN_ALWAYS", 4)
|
||||
TRUNCATE_EXISTING = make_flag("TRUNCATE_EXISTING", 5)
|
||||
FILE_SHARE_READ = make_flag("FILE_SHARE_READ", 0x00000001)
|
||||
FILE_SHARE_WRITE = make_flag("FILE_SHARE_WRITE", 0x00000002)
|
||||
FILE_SHARE_DELETE = make_flag("FILE_SHARE_DELETE", 0x00000004)
|
||||
FILE_ATTRIBUTE_READONLY = make_flag("FILE_ATTRIBUTE_READONLY", 0x00000001)
|
||||
FILE_ATTRIBUTE_HIDDEN = make_flag("FILE_ATTRIBUTE_HIDDEN", 0x00000002)
|
||||
FILE_ATTRIBUTE_SYSTEM = make_flag("FILE_ATTRIBUTE_SYSTEM", 0x00000004)
|
||||
FILE_ATTRIBUTE_DIRECTORY = make_flag("FILE_ATTRIBUTE_DIRECTORY", 0x00000010)
|
||||
FILE_ATTRIBUTE_ARCHIVE = make_flag("FILE_ATTRIBUTE_ARCHIVE", 0x00000020)
|
||||
FILE_ATTRIBUTE_DEVICE = make_flag("FILE_ATTRIBUTE_DEVICE", 0x00000040)
|
||||
FILE_ATTRIBUTE_NORMAL = make_flag("FILE_ATTRIBUTE_NORMAL", 0x00000080)
|
||||
FILE_ATTRIBUTE_TEMPORARY = make_flag("FILE_ATTRIBUTE_TEMPORARY", 0x00000100)
|
||||
FILE_ATTRIBUTE_SPARSE_FILE = make_flag("FILE_ATTRIBUTE_SPARSE_FILE", 0x00000200)
|
||||
FILE_ATTRIBUTE_REPARSE_POINT = make_flag("FILE_ATTRIBUTE_REPARSE_POINT", 0x00000400)
|
||||
FILE_ATTRIBUTE_COMPRESSED = make_flag("FILE_ATTRIBUTE_COMPRESSED", 0x00000800)
|
||||
FILE_ATTRIBUTE_OFFLINE = make_flag("FILE_ATTRIBUTE_OFFLINE", 0x00001000)
|
||||
FILE_ATTRIBUTE_NOT_CONTENT_INDEXED = make_flag("FILE_ATTRIBUTE_NOT_CONTENT_INDEXED", 0x00002000)
|
||||
FILE_ATTRIBUTE_ENCRYPTED = make_flag("FILE_ATTRIBUTE_ENCRYPTED", 0x00004000)
|
||||
FILE_ATTRIBUTE_VIRTUAL = make_flag("FILE_ATTRIBUTE_VIRTUAL", 0x00010000)
|
||||
FILE_NOTIFY_CHANGE_FILE_NAME = make_flag("FILE_NOTIFY_CHANGE_FILE_NAME", 0x00000001)
|
||||
FILE_NOTIFY_CHANGE_DIR_NAME = make_flag("FILE_NOTIFY_CHANGE_DIR_NAME", 0x00000002)
|
||||
FILE_NOTIFY_CHANGE_ATTRIBUTES = make_flag("FILE_NOTIFY_CHANGE_ATTRIBUTES", 0x00000004)
|
||||
FILE_NOTIFY_CHANGE_SIZE = make_flag("FILE_NOTIFY_CHANGE_SIZE", 0x00000008)
|
||||
FILE_NOTIFY_CHANGE_LAST_WRITE = make_flag("FILE_NOTIFY_CHANGE_LAST_WRITE", 0x00000010)
|
||||
FILE_NOTIFY_CHANGE_LAST_ACCESS = make_flag("FILE_NOTIFY_CHANGE_LAST_ACCESS", 0x00000020)
|
||||
FILE_NOTIFY_CHANGE_CREATION = make_flag("FILE_NOTIFY_CHANGE_CREATION", 0x00000040)
|
||||
FILE_NOTIFY_CHANGE_SECURITY = make_flag("FILE_NOTIFY_CHANGE_SECURITY", 0x00000100)
|
||||
FILE_ACTION_ADDED = make_flag("FILE_ACTION_ADDED", 0x00000001)
|
||||
FILE_ACTION_REMOVED = make_flag("FILE_ACTION_REMOVED", 0x00000002)
|
||||
FILE_ACTION_MODIFIED = make_flag("FILE_ACTION_MODIFIED", 0x00000003)
|
||||
FILE_ACTION_RENAMED_OLD_NAME = make_flag("FILE_ACTION_RENAMED_OLD_NAME", 0x00000004)
|
||||
FILE_ACTION_RENAMED_NEW_NAME = make_flag("FILE_ACTION_RENAMED_NEW_NAME", 0x00000005)
|
||||
MAILSLOT_NO_MESSAGE = make_flag("MAILSLOT_NO_MESSAGE", ( -1 ))
|
||||
MAILSLOT_WAIT_FOREVER = make_flag("MAILSLOT_WAIT_FOREVER", ( -1 ))
|
||||
FILE_CASE_SENSITIVE_SEARCH = make_flag("FILE_CASE_SENSITIVE_SEARCH", 0x00000001)
|
||||
FILE_CASE_PRESERVED_NAMES = make_flag("FILE_CASE_PRESERVED_NAMES", 0x00000002)
|
||||
FILE_UNICODE_ON_DISK = make_flag("FILE_UNICODE_ON_DISK", 0x00000004)
|
||||
FILE_PERSISTENT_ACLS = make_flag("FILE_PERSISTENT_ACLS", 0x00000008)
|
||||
FILE_FILE_COMPRESSION = make_flag("FILE_FILE_COMPRESSION", 0x00000010)
|
||||
FILE_VOLUME_QUOTAS = make_flag("FILE_VOLUME_QUOTAS", 0x00000020)
|
||||
FILE_SUPPORTS_SPARSE_FILES = make_flag("FILE_SUPPORTS_SPARSE_FILES", 0x00000040)
|
||||
FILE_SUPPORTS_REPARSE_POINTS = make_flag("FILE_SUPPORTS_REPARSE_POINTS", 0x00000080)
|
||||
FILE_SUPPORTS_REMOTE_STORAGE = make_flag("FILE_SUPPORTS_REMOTE_STORAGE", 0x00000100)
|
||||
FILE_VOLUME_IS_COMPRESSED = make_flag("FILE_VOLUME_IS_COMPRESSED", 0x00008000)
|
||||
FILE_SUPPORTS_OBJECT_IDS = make_flag("FILE_SUPPORTS_OBJECT_IDS", 0x00010000)
|
||||
FILE_SUPPORTS_ENCRYPTION = make_flag("FILE_SUPPORTS_ENCRYPTION", 0x00020000)
|
||||
FILE_NAMED_STREAMS = make_flag("FILE_NAMED_STREAMS", 0x00040000)
|
||||
FILE_READ_ONLY_VOLUME = make_flag("FILE_READ_ONLY_VOLUME", 0x00080000)
|
||||
FILE_SEQUENTIAL_WRITE_ONCE = make_flag("FILE_SEQUENTIAL_WRITE_ONCE", 0x00100000)
|
||||
FILE_SUPPORTS_TRANSACTIONS = make_flag("FILE_SUPPORTS_TRANSACTIONS", 0x00200000)
|
||||
FILE_SUPPORTS_HARD_LINKS = make_flag("FILE_SUPPORTS_HARD_LINKS", 0x00400000)
|
||||
FILE_SUPPORTS_EXTENDED_ATTRIBUTES = make_flag("FILE_SUPPORTS_EXTENDED_ATTRIBUTES", 0x00800000)
|
||||
FILE_SUPPORTS_OPEN_BY_FILE_ID = make_flag("FILE_SUPPORTS_OPEN_BY_FILE_ID", 0x01000000)
|
||||
FILE_SUPPORTS_USN_JOURNAL = make_flag("FILE_SUPPORTS_USN_JOURNAL", 0x02000000)
|
||||
RRF_RT_REG_NONE = make_flag("RRF_RT_REG_NONE", 0x00000001)
|
||||
RRF_RT_REG_SZ = make_flag("RRF_RT_REG_SZ", 0x00000002)
|
||||
RRF_RT_REG_EXPAND_SZ = make_flag("RRF_RT_REG_EXPAND_SZ", 0x00000004)
|
||||
|
||||
@@ -1050,6 +1050,41 @@ FindNextFileWParams = ((1, 'hFindFile'), (1, 'lpFindFileData'))
|
||||
FindClosePrototype = WINFUNCTYPE(BOOL, HANDLE)
|
||||
FindCloseParams = ((1, 'hFindFile'),)
|
||||
|
||||
#def FindFirstChangeNotificationA(lpPathName, bWatchSubtree, dwNotifyFilter):
|
||||
# return FindFirstChangeNotificationA.ctypes_function(lpPathName, bWatchSubtree, dwNotifyFilter)
|
||||
FindFirstChangeNotificationAPrototype = WINFUNCTYPE(HANDLE, LPCSTR, BOOL, DWORD)
|
||||
FindFirstChangeNotificationAParams = ((1, 'lpPathName'), (1, 'bWatchSubtree'), (1, 'dwNotifyFilter'))
|
||||
|
||||
#def FindFirstChangeNotificationW(lpPathName, bWatchSubtree, dwNotifyFilter):
|
||||
# return FindFirstChangeNotificationW.ctypes_function(lpPathName, bWatchSubtree, dwNotifyFilter)
|
||||
FindFirstChangeNotificationWPrototype = WINFUNCTYPE(HANDLE, LPCWSTR, BOOL, DWORD)
|
||||
FindFirstChangeNotificationWParams = ((1, 'lpPathName'), (1, 'bWatchSubtree'), (1, 'dwNotifyFilter'))
|
||||
|
||||
#def FindNextChangeNotification(hChangeHandle):
|
||||
# return FindNextChangeNotification.ctypes_function(hChangeHandle)
|
||||
FindNextChangeNotificationPrototype = WINFUNCTYPE(BOOL, HANDLE)
|
||||
FindNextChangeNotificationParams = ((1, 'hChangeHandle'),)
|
||||
|
||||
#def FindCloseChangeNotification(hChangeHandle):
|
||||
# return FindCloseChangeNotification.ctypes_function(hChangeHandle)
|
||||
FindCloseChangeNotificationPrototype = WINFUNCTYPE(BOOL, HANDLE)
|
||||
FindCloseChangeNotificationParams = ((1, 'hChangeHandle'),)
|
||||
|
||||
#def FindNextChangeNotification(hChangeHandle):
|
||||
# return FindNextChangeNotification.ctypes_function(hChangeHandle)
|
||||
FindNextChangeNotificationPrototype = WINFUNCTYPE(BOOL, HANDLE)
|
||||
FindNextChangeNotificationParams = ((1, 'hChangeHandle'),)
|
||||
|
||||
#def ReadDirectoryChangesW(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine):
|
||||
# return ReadDirectoryChangesW.ctypes_function(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine)
|
||||
ReadDirectoryChangesWPrototype = WINFUNCTYPE(BOOL, HANDLE, LPVOID, DWORD, BOOL, DWORD, LPDWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE)
|
||||
ReadDirectoryChangesWParams = ((1, 'hDirectory'), (1, 'lpBuffer'), (1, 'nBufferLength'), (1, 'bWatchSubtree'), (1, 'dwNotifyFilter'), (1, 'lpBytesReturned'), (1, 'lpOverlapped'), (1, 'lpCompletionRoutine'))
|
||||
|
||||
#def ReadDirectoryChangesExW(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine, ReadDirectoryNotifyInformationClass):
|
||||
# return ReadDirectoryChangesExW.ctypes_function(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine, ReadDirectoryNotifyInformationClass)
|
||||
ReadDirectoryChangesExWPrototype = WINFUNCTYPE(BOOL, HANDLE, LPVOID, DWORD, BOOL, DWORD, LPDWORD, LPOVERLAPPED, LPOVERLAPPED_COMPLETION_ROUTINE, READ_DIRECTORY_NOTIFY_INFORMATION_CLASS)
|
||||
ReadDirectoryChangesExWParams = ((1, 'hDirectory'), (1, 'lpBuffer'), (1, 'nBufferLength'), (1, 'bWatchSubtree'), (1, 'dwNotifyFilter'), (1, 'lpBytesReturned'), (1, 'lpOverlapped'), (1, 'lpCompletionRoutine'), (1, 'ReadDirectoryNotifyInformationClass'))
|
||||
|
||||
#def HeapAlloc(hHeap, dwFlags, dwBytes):
|
||||
# return HeapAlloc.ctypes_function(hHeap, dwFlags, dwBytes)
|
||||
HeapAllocPrototype = WINFUNCTYPE(LPVOID, HANDLE, DWORD, SIZE_T)
|
||||
@@ -1160,6 +1195,56 @@ HttpSendRequestAParams = ((1, 'hRequest'), (1, 'lpszHeaders'), (1, 'dwHeadersLen
|
||||
HttpSendRequestWPrototype = WINFUNCTYPE(BOOL, HINTERNET, LPCWSTR, DWORD, LPVOID, DWORD)
|
||||
HttpSendRequestWParams = ((1, 'hRequest'), (1, 'lpszHeaders'), (1, 'dwHeadersLength'), (1, 'lpOptional'), (1, 'dwOptionalLength'))
|
||||
|
||||
#def WinHttpOpen(pszAgentW, dwAccessType, pszProxyW, pszProxyBypassW, dwFlags):
|
||||
# return WinHttpOpen.ctypes_function(pszAgentW, dwAccessType, pszProxyW, pszProxyBypassW, dwFlags)
|
||||
WinHttpOpenPrototype = WINFUNCTYPE(HINTERNET, LPCWSTR, DWORD, LPCWSTR, LPCWSTR, DWORD)
|
||||
WinHttpOpenParams = ((1, 'pszAgentW'), (1, 'dwAccessType'), (1, 'pszProxyW'), (1, 'pszProxyBypassW'), (1, 'dwFlags'))
|
||||
|
||||
#def WinHttpCloseHandle(hInternet):
|
||||
# return WinHttpCloseHandle.ctypes_function(hInternet)
|
||||
WinHttpCloseHandlePrototype = WINFUNCTYPE(BOOL, HINTERNET)
|
||||
WinHttpCloseHandleParams = ((1, 'hInternet'),)
|
||||
|
||||
#def WinHttpConnect(hSession, pswzServerName, nServerPort, dwReserved):
|
||||
# return WinHttpConnect.ctypes_function(hSession, pswzServerName, nServerPort, dwReserved)
|
||||
WinHttpConnectPrototype = WINFUNCTYPE(HINTERNET, HINTERNET, LPCWSTR, INTERNET_PORT, DWORD)
|
||||
WinHttpConnectParams = ((1, 'hSession'), (1, 'pswzServerName'), (1, 'nServerPort'), (1, 'dwReserved'))
|
||||
|
||||
#def WinHttpQueryDataAvailable(hRequest, lpdwNumberOfBytesAvailable):
|
||||
# return WinHttpQueryDataAvailable.ctypes_function(hRequest, lpdwNumberOfBytesAvailable)
|
||||
WinHttpQueryDataAvailablePrototype = WINFUNCTYPE(BOOL, HINTERNET, LPDWORD)
|
||||
WinHttpQueryDataAvailableParams = ((1, 'hRequest'), (1, 'lpdwNumberOfBytesAvailable'))
|
||||
|
||||
#def WinHttpReadData(hRequest, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead):
|
||||
# return WinHttpReadData.ctypes_function(hRequest, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead)
|
||||
WinHttpReadDataPrototype = WINFUNCTYPE(BOOL, HINTERNET, LPVOID, DWORD, LPDWORD)
|
||||
WinHttpReadDataParams = ((1, 'hRequest'), (1, 'lpBuffer'), (1, 'dwNumberOfBytesToRead'), (1, 'lpdwNumberOfBytesRead'))
|
||||
|
||||
#def WinHttpOpenRequest(hConnect, pwszVerb, pwszObjectName, pwszVersion, pwszReferrer, ppwszAcceptTypes, dwFlags):
|
||||
# return WinHttpOpenRequest.ctypes_function(hConnect, pwszVerb, pwszObjectName, pwszVersion, pwszReferrer, ppwszAcceptTypes, dwFlags)
|
||||
WinHttpOpenRequestPrototype = WINFUNCTYPE(HINTERNET, HINTERNET, LPCWSTR, LPCWSTR, LPCWSTR, LPCWSTR, POINTER(LPCWSTR), DWORD)
|
||||
WinHttpOpenRequestParams = ((1, 'hConnect'), (1, 'pwszVerb'), (1, 'pwszObjectName'), (1, 'pwszVersion'), (1, 'pwszReferrer'), (1, 'ppwszAcceptTypes'), (1, 'dwFlags'))
|
||||
|
||||
#def WinHttpSendRequest(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength, dwTotalLength, dwContext):
|
||||
# return WinHttpSendRequest.ctypes_function(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength, dwTotalLength, dwContext)
|
||||
WinHttpSendRequestPrototype = WINFUNCTYPE(BOOL, HINTERNET, LPCWSTR, DWORD, LPVOID, DWORD, DWORD, DWORD_PTR)
|
||||
WinHttpSendRequestParams = ((1, 'hRequest'), (1, 'lpszHeaders'), (1, 'dwHeadersLength'), (1, 'lpOptional'), (1, 'dwOptionalLength'), (1, 'dwTotalLength'), (1, 'dwContext'))
|
||||
|
||||
#def WinHttpReceiveResponse(hRequest, lpReserved):
|
||||
# return WinHttpReceiveResponse.ctypes_function(hRequest, lpReserved)
|
||||
WinHttpReceiveResponsePrototype = WINFUNCTYPE(BOOL, HINTERNET, LPVOID)
|
||||
WinHttpReceiveResponseParams = ((1, 'hRequest'), (1, 'lpReserved'))
|
||||
|
||||
#def WinHttpAddRequestHeaders(hRequest, lpszHeaders, dwHeadersLength, dwModifiers):
|
||||
# return WinHttpAddRequestHeaders.ctypes_function(hRequest, lpszHeaders, dwHeadersLength, dwModifiers)
|
||||
WinHttpAddRequestHeadersPrototype = WINFUNCTYPE(BOOL, HINTERNET, LPCWSTR, DWORD, DWORD)
|
||||
WinHttpAddRequestHeadersParams = ((1, 'hRequest'), (1, 'lpszHeaders'), (1, 'dwHeadersLength'), (1, 'dwModifiers'))
|
||||
|
||||
#def WinHttpQueryHeaders(hRequest, dwInfoLevel, pwszName, lpBuffer, lpdwBufferLength, lpdwIndex):
|
||||
# return WinHttpQueryHeaders.ctypes_function(hRequest, dwInfoLevel, pwszName, lpBuffer, lpdwBufferLength, lpdwIndex)
|
||||
WinHttpQueryHeadersPrototype = WINFUNCTYPE(BOOL, HINTERNET, DWORD, LPCWSTR, LPVOID, LPDWORD, LPDWORD)
|
||||
WinHttpQueryHeadersParams = ((1, 'hRequest'), (1, 'dwInfoLevel'), (1, 'pwszName'), (1, 'lpBuffer'), (1, 'lpdwBufferLength'), (1, 'lpdwIndex'))
|
||||
|
||||
#def LsaOpenPolicy(SystemName, ObjectAttributes, DesiredAccess, PolicyHandle):
|
||||
# return LsaOpenPolicy.ctypes_function(SystemName, ObjectAttributes, DesiredAccess, PolicyHandle)
|
||||
LsaOpenPolicyPrototype = WINFUNCTYPE(NTSTATUS, PLSA_UNICODE_STRING, PLSA_OBJECT_ATTRIBUTES, ACCESS_MASK, PLSA_HANDLE)
|
||||
@@ -1255,6 +1340,11 @@ DnsQuery_AParams = ((1, 'pszName'), (1, 'wType'), (1, 'Options'), (1, 'pExtra'),
|
||||
DnsQuery_WPrototype = WINFUNCTYPE(DNS_STATUS, PCWSTR, WORD, DWORD, PVOID, POINTER(PDNS_RECORDW), POINTER(PVOID))
|
||||
DnsQuery_WParams = ((1, 'pszName'), (1, 'wType'), (1, 'Options'), (1, 'pExtra'), (1, 'ppQueryResults'), (1, 'pReserved'))
|
||||
|
||||
#def DnsQueryEx(pQueryRequest, pQueryResults, pCancelHandle):
|
||||
# return DnsQueryEx.ctypes_function(pQueryRequest, pQueryResults, pCancelHandle)
|
||||
DnsQueryExPrototype = WINFUNCTYPE(DNS_STATUS, PDNS_QUERY_REQUEST, PDNS_QUERY_RESULT, PDNS_QUERY_CANCEL)
|
||||
DnsQueryExParams = ((1, 'pQueryRequest'), (1, 'pQueryResults'), (1, 'pCancelHandle'))
|
||||
|
||||
#def CreateFileTransactedA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile, hTransaction, pusMiniVersion, pExtendedParameter):
|
||||
# return CreateFileTransactedA.ctypes_function(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile, hTransaction, pusMiniVersion, pExtendedParameter)
|
||||
CreateFileTransactedAPrototype = WINFUNCTYPE(HANDLE, LPCSTR, DWORD, DWORD, LPSECURITY_ATTRIBUTES, DWORD, DWORD, HANDLE, HANDLE, PUSHORT, PVOID)
|
||||
|
||||
@@ -286,6 +286,8 @@ ENUMRESTYPEPROCA = PVOID#Resources
|
||||
ENUMRESTYPEPROCW = PVOID#Resources
|
||||
LPSERVICE_MAIN_FUNCTIONA = PVOID
|
||||
LPSERVICE_MAIN_FUNCTIONW = PVOID
|
||||
LPOVERLAPPED_COMPLETION_ROUTINE = PVOID
|
||||
PDNS_QUERY_COMPLETION_ROUTINE = PVOID
|
||||
LPCONTEXT = PVOID
|
||||
HCERTSTORE = PVOID
|
||||
HCRYPTMSG = PVOID
|
||||
@@ -2335,6 +2337,62 @@ _DnsRecordW._fields_ = [
|
||||
("Data", _ANON__DNSRECORDW_SUB_UNION_2),
|
||||
]
|
||||
|
||||
class _DnsAddr(Structure):
|
||||
_fields_ = [
|
||||
("MaxSa", CHAR * (DNS_ADDR_MAX_SOCKADDR_LENGTH)),
|
||||
("DnsAddrUserDword", DWORD * (8)),
|
||||
]
|
||||
PDNS_ADDR = POINTER(_DnsAddr)
|
||||
DNS_ADDR = _DnsAddr
|
||||
|
||||
class _DnsAddrArray(Structure):
|
||||
_fields_ = [
|
||||
("MaxCount", DWORD),
|
||||
("AddrCount", DWORD),
|
||||
("Tag", DWORD),
|
||||
("Family", WORD),
|
||||
("WordReserved", WORD),
|
||||
("Flags", DWORD),
|
||||
("MatchFlag", DWORD),
|
||||
("Reserved1", DWORD),
|
||||
("Reserved2", DWORD),
|
||||
("AddrArray", DNS_ADDR * (ANY_SIZE)),
|
||||
]
|
||||
PDNS_ADDR_ARRAY = POINTER(_DnsAddrArray)
|
||||
DNS_ADDR_ARRAY = _DnsAddrArray
|
||||
|
||||
class _DNS_QUERY_REQUEST(Structure):
|
||||
_fields_ = [
|
||||
("Version", ULONG),
|
||||
("QueryName", PCWSTR),
|
||||
("QueryType", WORD),
|
||||
("QueryOptions", ULONG64),
|
||||
("pDnsServerList", PDNS_ADDR_ARRAY),
|
||||
("InterfaceIndex", ULONG),
|
||||
("pQueryCompletionCallback", PDNS_QUERY_COMPLETION_ROUTINE),
|
||||
("pQueryContext", PVOID),
|
||||
]
|
||||
PDNS_QUERY_REQUEST = POINTER(_DNS_QUERY_REQUEST)
|
||||
DNS_QUERY_REQUEST = _DNS_QUERY_REQUEST
|
||||
|
||||
class _DNS_QUERY_CANCEL(Structure):
|
||||
_fields_ = [
|
||||
("Reserved", CHAR * (32)),
|
||||
]
|
||||
PDNS_QUERY_CANCEL = POINTER(_DNS_QUERY_CANCEL)
|
||||
DNS_QUERY_CANCEL = _DNS_QUERY_CANCEL
|
||||
|
||||
class _DNS_QUERY_RESULT(Structure):
|
||||
_fields_ = [
|
||||
("Version", ULONG),
|
||||
("QueryStatus", DNS_STATUS),
|
||||
("QueryOptions", ULONG64),
|
||||
("pQueryRecords", PVOID),
|
||||
("Reserved", PVOID),
|
||||
]
|
||||
DNS_QUERY_RESULT = _DNS_QUERY_RESULT
|
||||
PDNS_QUERY_RESULT = POINTER(_DNS_QUERY_RESULT)
|
||||
|
||||
KeyValueBasicInformation = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValueBasicInformation", 0x0)
|
||||
KeyValueFullInformation = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValueFullInformation", 0x1)
|
||||
KeyValuePartialInformation = EnumValue("_KEY_VALUE_INFORMATION_CLASS", "KeyValuePartialInformation", 0x2)
|
||||
@@ -8535,6 +8593,15 @@ class _IO_PRIORITY_HINT(EnumType):
|
||||
IO_PRIORITY_HINT = _IO_PRIORITY_HINT
|
||||
|
||||
|
||||
ReadDirectoryNotifyInformation = EnumValue("_READ_DIRECTORY_NOTIFY_INFORMATION_CLASS", "ReadDirectoryNotifyInformation", 0x0)
|
||||
ReadDirectoryNotifyExtendedInformation = EnumValue("_READ_DIRECTORY_NOTIFY_INFORMATION_CLASS", "ReadDirectoryNotifyExtendedInformation", 0x1)
|
||||
class _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS(EnumType):
|
||||
values = [ReadDirectoryNotifyInformation, ReadDirectoryNotifyExtendedInformation]
|
||||
mapper = FlagMapper(*values)
|
||||
PREAD_DIRECTORY_NOTIFY_INFORMATION_CLASS = POINTER(_READ_DIRECTORY_NOTIFY_INFORMATION_CLASS)
|
||||
READ_DIRECTORY_NOTIFY_INFORMATION_CLASS = _READ_DIRECTORY_NOTIFY_INFORMATION_CLASS
|
||||
|
||||
|
||||
class _FILE_INTERNAL_INFORMATION(Structure):
|
||||
_fields_ = [
|
||||
("IndexNumber", LARGE_INTEGER),
|
||||
@@ -8770,6 +8837,36 @@ PWIN32_FIND_DATAW = POINTER(_WIN32_FIND_DATAW)
|
||||
WIN32_FIND_DATAW = _WIN32_FIND_DATAW
|
||||
LPWIN32_FIND_DATAW = POINTER(_WIN32_FIND_DATAW)
|
||||
|
||||
class _FILE_NOTIFY_INFORMATION(Structure):
|
||||
_fields_ = [
|
||||
("NextEntryOffset", DWORD),
|
||||
("Action", DWORD),
|
||||
("FileNameLength", DWORD),
|
||||
("FileName", WCHAR * (1)),
|
||||
]
|
||||
FILE_NOTIFY_INFORMATION = _FILE_NOTIFY_INFORMATION
|
||||
PFILE_NOTIFY_INFORMATION = POINTER(_FILE_NOTIFY_INFORMATION)
|
||||
|
||||
class _FILE_NOTIFY_EXTENDED_INFORMATION(Structure):
|
||||
_fields_ = [
|
||||
("NextEntryOffset", DWORD),
|
||||
("Action", DWORD),
|
||||
("CreationTime", LARGE_INTEGER),
|
||||
("LastModificationTime", LARGE_INTEGER),
|
||||
("LastChangeTime", LARGE_INTEGER),
|
||||
("LastAccessTime", LARGE_INTEGER),
|
||||
("AllocatedLength", LARGE_INTEGER),
|
||||
("FileSize", LARGE_INTEGER),
|
||||
("FileAttributes", DWORD),
|
||||
("ReparsePointTag", DWORD),
|
||||
("FileId", LARGE_INTEGER),
|
||||
("ParentFileId", LARGE_INTEGER),
|
||||
("FileNameLength", DWORD),
|
||||
("FileName", WCHAR * (1)),
|
||||
]
|
||||
PFILE_NOTIFY_EXTENDED_INFORMATION = POINTER(_FILE_NOTIFY_EXTENDED_INFORMATION)
|
||||
FILE_NOTIFY_EXTENDED_INFORMATION = _FILE_NOTIFY_EXTENDED_INFORMATION
|
||||
|
||||
PolicyAuditLogInformation = EnumValue("_POLICY_INFORMATION_CLASS", "PolicyAuditLogInformation", 0x1)
|
||||
PolicyAuditEventsInformation = EnumValue("_POLICY_INFORMATION_CLASS", "PolicyAuditEventsInformation", 0x2)
|
||||
PolicyPrimaryDomainInformation = EnumValue("_POLICY_INFORMATION_CLASS", "PolicyPrimaryDomainInformation", 0x3)
|
||||
|
||||
@@ -19,5 +19,6 @@ from .user32 import *
|
||||
from .version import *
|
||||
from .virtdisk import *
|
||||
from .wevtapi import *
|
||||
from .winhttp import *
|
||||
from .wininet import *
|
||||
from .wintrust import *
|
||||
@@ -23,6 +23,10 @@ def DnsQuery_A(pszName, wType, Options, pExtra, ppQueryResults, pReserved):
|
||||
def DnsQuery_W(pszName, wType, Options, pExtra, ppQueryResults, pReserved):
|
||||
return DnsQuery_W.ctypes_function(pszName, wType, Options, pExtra, ppQueryResults, pReserved)
|
||||
|
||||
@DNSapiProxy(error_check=result_is_error_code)
|
||||
def DnsQueryEx(pQueryRequest, pQueryResults, pCancelHandle):
|
||||
return DnsQueryEx.ctypes_function(pQueryRequest, pQueryResults, pCancelHandle)
|
||||
|
||||
@DNSapiProxy(error_check=no_error_check)
|
||||
def DnsFree(pData, FreeType):
|
||||
return DnsFree.ctypes_function(pData, FreeType)
|
||||
|
||||
@@ -461,7 +461,7 @@ def CreateFileA(lpFileName, dwDesiredAccess=gdef.GENERIC_READ, dwShareMode=0, lp
|
||||
|
||||
@Kernel32Proxy(error_check=result_is_handle)
|
||||
def CreateFileW(lpFileName, dwDesiredAccess=gdef.GENERIC_READ, dwShareMode=0, lpSecurityAttributes=None, dwCreationDisposition=gdef.OPEN_EXISTING, dwFlagsAndAttributes=gdef.FILE_ATTRIBUTE_NORMAL, hTemplateFile=None):
|
||||
return CreateFileA.ctypes_function(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile)
|
||||
return CreateFileW.ctypes_function(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile)
|
||||
|
||||
@Kernel32Proxy(error_check=result_is_handle)
|
||||
def CreateFileTransactedA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile, hTransaction, pusMiniVersion, pExtendedParameter):
|
||||
@@ -538,6 +538,36 @@ def FindNextFileW(hFindFile, lpFindFileData):
|
||||
def FindClose(hFindFile):
|
||||
return FindClose.ctypes_function(hFindFile)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def FindFirstChangeNotificationA(lpPathName, bWatchSubtree, dwNotifyFilter):
|
||||
return FindFirstChangeNotificationA.ctypes_function(lpPathName, bWatchSubtree, dwNotifyFilter)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def FindFirstChangeNotificationW(lpPathName, bWatchSubtree, dwNotifyFilter):
|
||||
return FindFirstChangeNotificationW.ctypes_function(lpPathName, bWatchSubtree, dwNotifyFilter)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def FindNextChangeNotification(hChangeHandle):
|
||||
return FindNextChangeNotification.ctypes_function(hChangeHandle)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def FindCloseChangeNotification(hChangeHandle):
|
||||
return FindCloseChange
|
||||
Notification.ctypes_function(hChangeHandle)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def FindNextChangeNotification(hChangeHandle):
|
||||
return FindNextChangeNotification.ctypes_function(hChangeHandle)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def ReadDirectoryChangesW(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine):
|
||||
return ReadDirectoryChangesW.ctypes_function(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine)
|
||||
|
||||
@Kernel32Proxy()
|
||||
def ReadDirectoryChangesExW(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine, ReadDirectoryNotifyInformationClass):
|
||||
return ReadDirectoryChangesExW.ctypes_function(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine, ReadDirectoryNotifyInformationClass)
|
||||
|
||||
|
||||
|
||||
## Tlhelp (snapshoot)
|
||||
|
||||
|
||||
@@ -0,0 +1,51 @@
|
||||
import ctypes
|
||||
import windows.generated_def as gdef
|
||||
|
||||
from ..apiproxy import ApiProxy, NeededParameter
|
||||
|
||||
from ..error import (fail_on_zero)
|
||||
|
||||
|
||||
class WinHTTPProxy(ApiProxy):
|
||||
APIDLL = "winhttp"
|
||||
default_error_check = staticmethod(fail_on_zero)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpOpen(pszAgentW, dwAccessType, pszProxyW, pszProxyBypassW, dwFlags):
|
||||
return WinHttpOpen.ctypes_function(pszAgentW, dwAccessType, pszProxyW, pszProxyBypassW, dwFlags)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpCloseHandle(hInternet):
|
||||
return WinHttpCloseHandle.ctypes_function(hInternet)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpConnect(hSession, pswzServerName, nServerPort, dwReserved):
|
||||
return WinHttpConnect.ctypes_function(hSession, pswzServerName, nServerPort, dwReserved)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpQueryDataAvailable(hRequest, lpdwNumberOfBytesAvailable):
|
||||
return WinHttpQueryDataAvailable.ctypes_function(hRequest, lpdwNumberOfBytesAvailable)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpReadData(hRequest, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead):
|
||||
return WinHttpReadData.ctypes_function(hRequest, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpOpenRequest(hConnect, pwszVerb, pwszObjectName, pwszVersion, pwszReferrer, ppwszAcceptTypes, dwFlags):
|
||||
return WinHttpOpenRequest.ctypes_function(hConnect, pwszVerb, pwszObjectName, pwszVersion, pwszReferrer, ppwszAcceptTypes, dwFlags)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpSendRequest(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength, dwTotalLength, dwContext):
|
||||
return WinHttpSendRequest.ctypes_function(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength, dwTotalLength, dwContext)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpReceiveResponse(hRequest, lpReserved):
|
||||
return WinHttpReceiveResponse.ctypes_function(hRequest, lpReserved)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpAddRequestHeaders(hRequest, lpszHeaders, dwHeadersLength, dwModifiers):
|
||||
return WinHttpAddRequestHeaders.ctypes_function(hRequest, lpszHeaders, dwHeadersLength, dwModifiers)
|
||||
|
||||
@WinHTTPProxy()
|
||||
def WinHttpQueryHeaders(hRequest, dwInfoLevel, pwszName, lpBuffer, lpdwBufferLength, lpdwIndex):
|
||||
return WinHttpQueryHeaders.ctypes_function(hRequest, dwInfoLevel, pwszName, lpBuffer, lpdwBufferLength, lpdwIndex)
|
||||
Reference in New Issue
Block a user