mirror of
https://github.com/hakril/PythonForWindows
synced 2026-06-08 14:31:45 +00:00
Added some generated def + some winproxy functions
This commit is contained in:
@@ -0,0 +1,88 @@
|
||||
#define PRODUCT_UNDEFINED 0x00000000
|
||||
|
||||
#define PRODUCT_ULTIMATE 0x00000001
|
||||
#define PRODUCT_HOME_BASIC 0x00000002
|
||||
#define PRODUCT_HOME_PREMIUM 0x00000003
|
||||
#define PRODUCT_ENTERPRISE 0x00000004
|
||||
#define PRODUCT_HOME_BASIC_N 0x00000005
|
||||
#define PRODUCT_BUSINESS 0x00000006
|
||||
#define PRODUCT_STANDARD_SERVER 0x00000007
|
||||
#define PRODUCT_DATACENTER_SERVER 0x00000008
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER 0x00000009
|
||||
#define PRODUCT_ENTERPRISE_SERVER 0x0000000A
|
||||
#define PRODUCT_STARTER 0x0000000B
|
||||
#define PRODUCT_DATACENTER_SERVER_CORE 0x0000000C
|
||||
#define PRODUCT_STANDARD_SERVER_CORE 0x0000000D
|
||||
#define PRODUCT_ENTERPRISE_SERVER_CORE 0x0000000E
|
||||
#define PRODUCT_ENTERPRISE_SERVER_IA64 0x0000000F
|
||||
#define PRODUCT_BUSINESS_N 0x00000010
|
||||
#define PRODUCT_WEB_SERVER 0x00000011
|
||||
#define PRODUCT_CLUSTER_SERVER 0x00000012
|
||||
#define PRODUCT_HOME_SERVER 0x00000013
|
||||
#define PRODUCT_STORAGE_EXPRESS_SERVER 0x00000014
|
||||
#define PRODUCT_STORAGE_STANDARD_SERVER 0x00000015
|
||||
#define PRODUCT_STORAGE_WORKGROUP_SERVER 0x00000016
|
||||
#define PRODUCT_STORAGE_ENTERPRISE_SERVER 0x00000017
|
||||
#define PRODUCT_SERVER_FOR_SMALLBUSINESS 0x00000018
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM 0x00000019
|
||||
#define PRODUCT_HOME_PREMIUM_N 0x0000001A
|
||||
#define PRODUCT_ENTERPRISE_N 0x0000001B
|
||||
#define PRODUCT_ULTIMATE_N 0x0000001C
|
||||
#define PRODUCT_WEB_SERVER_CORE 0x0000001D
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_MANAGEMENT 0x0000001E
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_SECURITY 0x0000001F
|
||||
#define PRODUCT_MEDIUMBUSINESS_SERVER_MESSAGING 0x00000020
|
||||
#define PRODUCT_SERVER_FOUNDATION 0x00000021
|
||||
#define PRODUCT_HOME_PREMIUM_SERVER 0x00000022
|
||||
#define PRODUCT_SERVER_FOR_SMALLBUSINESS_V 0x00000023
|
||||
#define PRODUCT_STANDARD_SERVER_V 0x00000024
|
||||
#define PRODUCT_DATACENTER_SERVER_V 0x00000025
|
||||
#define PRODUCT_ENTERPRISE_SERVER_V 0x00000026
|
||||
#define PRODUCT_DATACENTER_SERVER_CORE_V 0x00000027
|
||||
#define PRODUCT_STANDARD_SERVER_CORE_V 0x00000028
|
||||
#define PRODUCT_ENTERPRISE_SERVER_CORE_V 0x00000029
|
||||
#define PRODUCT_HYPERV 0x0000002A
|
||||
#define PRODUCT_STORAGE_EXPRESS_SERVER_CORE 0x0000002B
|
||||
#define PRODUCT_STORAGE_STANDARD_SERVER_CORE 0x0000002C
|
||||
#define PRODUCT_STORAGE_WORKGROUP_SERVER_CORE 0x0000002D
|
||||
#define PRODUCT_STORAGE_ENTERPRISE_SERVER_CORE 0x0000002E
|
||||
#define PRODUCT_STARTER_N 0x0000002F
|
||||
#define PRODUCT_PROFESSIONAL 0x00000030
|
||||
#define PRODUCT_PROFESSIONAL_N 0x00000031
|
||||
#define PRODUCT_SB_SOLUTION_SERVER 0x00000032
|
||||
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS 0x00000033
|
||||
#define PRODUCT_STANDARD_SERVER_SOLUTIONS 0x00000034
|
||||
#define PRODUCT_STANDARD_SERVER_SOLUTIONS_CORE 0x00000035
|
||||
#define PRODUCT_SB_SOLUTION_SERVER_EM 0x00000036
|
||||
#define PRODUCT_SERVER_FOR_SB_SOLUTIONS_EM 0x00000037
|
||||
#define PRODUCT_SOLUTION_EMBEDDEDSERVER 0x00000038
|
||||
#define PRODUCT_SOLUTION_EMBEDDEDSERVER_CORE 0x00000039
|
||||
#define PRODUCT_SMALLBUSINESS_SERVER_PREMIUM_CORE 0x0000003F
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMT 0x0000003B
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDL 0x0000003C
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_MGMTSVC 0x0000003D
|
||||
#define PRODUCT_ESSENTIALBUSINESS_SERVER_ADDLSVC 0x0000003E
|
||||
#define PRODUCT_CLUSTER_SERVER_V 0x00000040
|
||||
#define PRODUCT_EMBEDDED 0x00000041
|
||||
#define PRODUCT_STARTER_E 0x00000042
|
||||
#define PRODUCT_HOME_BASIC_E 0x00000043
|
||||
#define PRODUCT_HOME_PREMIUM_E 0x00000044
|
||||
#define PRODUCT_PROFESSIONAL_E 0x00000045
|
||||
#define PRODUCT_ENTERPRISE_E 0x00000046
|
||||
#define PRODUCT_ULTIMATE_E 0x00000047
|
||||
#define PRODUCT_ENTERPRISE_EVALUATION 0x00000048
|
||||
#define PRODUCT_MULTIPOINT_STANDARD_SERVER 0x0000004C
|
||||
#define PRODUCT_MULTIPOINT_PREMIUM_SERVER 0x0000004D
|
||||
#define PRODUCT_STANDARD_EVALUATION_SERVER 0x0000004F
|
||||
#define PRODUCT_DATACENTER_EVALUATION_SERVER 0x00000050
|
||||
#define PRODUCT_ENTERPRISE_N_EVALUATION 0x00000054
|
||||
#define PRODUCT_STORAGE_WORKGROUP_EVALUATION_SERVER 0x0000005F
|
||||
#define PRODUCT_STORAGE_STANDARD_EVALUATION_SERVER 0x00000060
|
||||
#define PRODUCT_CORE_ARM 0x00000061
|
||||
#define PRODUCT_CORE_N 0x00000062
|
||||
#define PRODUCT_CORE_COUNTRYSPECIFIC 0x00000063
|
||||
#define PRODUCT_CORE_LANGUAGESPECIFIC 0x00000064
|
||||
#define PRODUCT_CORE 0x00000065
|
||||
#define PRODUCT_PROFESSIONAL_WMC 0x00000067
|
||||
|
||||
#define PRODUCT_UNLICENSED 0xABCDABCD
|
||||
@@ -38,4 +38,10 @@ HRESULT WINAPI CoGetInterceptor(
|
||||
_In_ IUnknown *punkOuter,
|
||||
_In_ REFIID iid,
|
||||
_Out_ PVOID *ppv
|
||||
);
|
||||
|
||||
|
||||
HRESULT WINAPI CLSIDFromProgID(
|
||||
_In_ LPCOLESTR lpszProgID,
|
||||
_Out_ LPCLSID lpclsid
|
||||
);
|
||||
@@ -1,3 +1,11 @@
|
||||
BOOL WINAPI CreatePipe(
|
||||
_Out_ PHANDLE hReadPipe,
|
||||
_Out_ PHANDLE hWritePipe,
|
||||
_In_opt_ LPSECURITY_ATTRIBUTES lpPipeAttributes,
|
||||
_In_ DWORD nSize
|
||||
);
|
||||
|
||||
|
||||
HANDLE WINAPI CreateNamedPipeA(
|
||||
_In_ LPCSTR lpName,
|
||||
_In_ DWORD dwOpenMode,
|
||||
@@ -32,4 +40,15 @@ BOOL WINAPI SetNamedPipeHandleState(
|
||||
_In_opt_ LPDWORD lpMode,
|
||||
_In_opt_ LPDWORD lpMaxCollectionCount,
|
||||
_In_opt_ LPDWORD lpCollectDataTimeout
|
||||
);
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI PeekNamedPipe(
|
||||
_In_ HANDLE hNamedPipe,
|
||||
_Out_opt_ LPVOID lpBuffer,
|
||||
_In_ DWORD nBufferSize,
|
||||
_Out_opt_ LPDWORD lpBytesRead,
|
||||
_Out_opt_ LPDWORD lpTotalBytesAvail,
|
||||
_Out_opt_ LPDWORD lpBytesLeftThisMessage
|
||||
);
|
||||
|
||||
|
||||
@@ -1701,3 +1701,12 @@ BOOL WINAPI SetProcessMitigationPolicy(
|
||||
_In_ PVOID lpBuffer,
|
||||
_In_ SIZE_T dwLength
|
||||
);
|
||||
|
||||
|
||||
BOOL WINAPI GetProductInfo(
|
||||
_In_ DWORD dwOSMajorVersion,
|
||||
_In_ DWORD dwOSMinorVersion,
|
||||
_In_ DWORD dwSpMajorVersion,
|
||||
_In_ DWORD dwSpMinorVersion,
|
||||
_Out_ PDWORD pdwReturnedProductType
|
||||
);
|
||||
|
||||
@@ -3,4 +3,13 @@ NTSTATUS WINAPI TpCallbackSendAlpcMessageOnCompletion(
|
||||
_In_ HANDLE PortHandle,
|
||||
_In_ ULONG Flags,
|
||||
_In_opt_ PPORT_MESSAGE SendMessage,
|
||||
);
|
||||
|
||||
|
||||
NTSTATUS NtQueryLicenseValue(
|
||||
PUNICODE_STRING Name,
|
||||
ULONG *Type,
|
||||
PVOID Buffer,
|
||||
ULONG Length,
|
||||
ULONG *DataLength
|
||||
);
|
||||
@@ -34,12 +34,14 @@ double = c_double
|
||||
DATE = double
|
||||
PSID = PVOID
|
||||
ULONGLONG = c_ulonglong
|
||||
PULONGLONG = POINTER(ULONGLONG)
|
||||
LONGLONG = c_longlong
|
||||
ULONG64 = c_ulonglong
|
||||
UINT64 = ULONG64
|
||||
LONG64 = c_longlong
|
||||
PLARGE_INTEGER = POINTER(LARGE_INTEGER)
|
||||
DWORD64 = ULONG64
|
||||
PDWORD64 = POINTER(DWORD64)
|
||||
SCODE = LONG
|
||||
CIMTYPE = LONG
|
||||
NET_IFINDEX = ULONG
|
||||
|
||||
@@ -5,4 +5,4 @@ typedef struct _GUID {
|
||||
USHORT Data2;
|
||||
USHORT Data3;
|
||||
BYTE Data4[ 8 ];
|
||||
} GUID, IID, CLSID, *REFIID, *REFCLSID, *LPGUID, *REFGUID;
|
||||
} GUID, IID, CLSID, *REFIID, *REFCLSID, *LPGUID, *REFGUID, *LPCLSID;
|
||||
@@ -150,6 +150,8 @@ class ParsedFileGraph(object):
|
||||
|
||||
def build_dependancy_graph(self):
|
||||
todo = set(self.nodes)
|
||||
if not todo:
|
||||
return []
|
||||
start = self.find_starting_node()
|
||||
print("Starting node is {0}".format(start))
|
||||
todo.remove(start)
|
||||
|
||||
+714
-628
File diff suppressed because it is too large
Load Diff
@@ -283,6 +283,10 @@ _GUID
|
||||
|
||||
Alias for :class:`_GUID`
|
||||
|
||||
.. class:: LPCLSID
|
||||
|
||||
Pointer to :class:`_GUID`
|
||||
|
||||
.. class:: GUID
|
||||
|
||||
Alias for :class:`_GUID`
|
||||
@@ -13696,6 +13700,10 @@ Simple types
|
||||
|
||||
.. autoclass:: ULONGLONG
|
||||
|
||||
.. class:: PULONGLONG
|
||||
|
||||
Pointer to :class:`ULONGLONG`
|
||||
|
||||
.. autoclass:: LONGLONG
|
||||
|
||||
.. autoclass:: ULONG64
|
||||
@@ -13710,6 +13718,10 @@ Simple types
|
||||
|
||||
.. autoclass:: DWORD64
|
||||
|
||||
.. class:: PDWORD64
|
||||
|
||||
Pointer to :class:`DWORD64`
|
||||
|
||||
.. autoclass:: SCODE
|
||||
|
||||
.. autoclass:: CIMTYPE
|
||||
|
||||
File diff suppressed because one or more lines are too long
+714
-628
File diff suppressed because it is too large
Load Diff
+507
-482
File diff suppressed because it is too large
Load Diff
+483
-479
File diff suppressed because it is too large
Load Diff
@@ -859,6 +859,11 @@ def GetWindowsDirectoryW(lpBuffer, uSize=None):
|
||||
return GetWindowsDirectoryW.ctypes_function(lpBuffer, uSize)
|
||||
|
||||
|
||||
@Kernel32Proxy("GetProductInfo")
|
||||
def GetProductInfo(dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType):
|
||||
return GetProductInfo.ctypes_function(dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType)
|
||||
|
||||
|
||||
# ### NTDLL #### #
|
||||
|
||||
@NtdllProxy('NtReadVirtualMemory', error_ntstatus)
|
||||
@@ -1167,6 +1172,12 @@ def NtQueryValueKey(KeyHandle, ValueName, KeyValueInformationClass, KeyValueInfo
|
||||
def NtEnumerateValueKey(KeyHandle, Index, KeyValueInformationClass, KeyValueInformation, Length, ResultLength):
|
||||
return NtEnumerateValueKey.ctypes_function(KeyHandle, Index, KeyValueInformationClass, KeyValueInformation, Length, ResultLength)
|
||||
|
||||
@NtdllProxy("NtQueryLicenseValue", error_ntstatus)
|
||||
def NtQueryLicenseValue(Name, Type, Buffer, Length=None, DataLength=NeededParameter):
|
||||
if Length is None and Buffer:
|
||||
Length = len(buffer)
|
||||
return NtQueryLicenseValue.ctypes_function(Name, Type, Buffer, Length, DataLength)
|
||||
|
||||
|
||||
# Not exported
|
||||
|
||||
@@ -1823,6 +1834,10 @@ def CoCreateInstanceEx(rclsid, punkOuter, dwClsCtx, pServerInfo, dwCount, pResul
|
||||
def CoGetInterceptor(iidIntercepted, punkOuter, iid, ppv):
|
||||
return CoGetInterceptor.ctypes_function(iidIntercepted, punkOuter, iid, ppv)
|
||||
|
||||
@Ole32Proxy('CLSIDFromProgID')
|
||||
def CLSIDFromProgID(lpszProgID, lpclsid):
|
||||
return CLSIDFromProgID.ctypes_function(lpszProgID, lpclsid)
|
||||
|
||||
# ## Shell32 ## #
|
||||
|
||||
@Shell32Proxy('ShellExecuteA')
|
||||
|
||||
Reference in New Issue
Block a user