From cbf456ac4f6509c8039b8644abfc10ea93159b51 Mon Sep 17 00:00:00 2001 From: hakril Date: Thu, 27 Jun 2024 14:34:33 +0200 Subject: [PATCH] Adding some generated_def related to Section & NtReadFile/NtWriteFile --- .../definitions/defines/section.txt | 1 + .../definitions/functions/syscall.txt | 25 + .../definitions/structures/section.txt | 32 + docs/source/interfaces_generated.rst | 1429 ++++++++++++++ docs/source/windef_generated.rst | 1 + docs/source/winfuncs_generated.rst | 1678 +++++++++++++++++ docs/source/winstructs_generated.rst | 76 + windows/generated_def/meta.py | 10 + windows/generated_def/windef.py | 1 + windows/generated_def/winfuncs.py | 10 + windows/generated_def/winstructs.py | 47 + windows/winproxy/apis/ntdll.py | 16 + 12 files changed, 3326 insertions(+) create mode 100644 ctypes_generation/definitions/defines/section.txt create mode 100644 ctypes_generation/definitions/structures/section.txt create mode 100644 docs/source/interfaces_generated.rst create mode 100644 docs/source/winfuncs_generated.rst diff --git a/ctypes_generation/definitions/defines/section.txt b/ctypes_generation/definitions/defines/section.txt new file mode 100644 index 0000000..756f05b --- /dev/null +++ b/ctypes_generation/definitions/defines/section.txt @@ -0,0 +1 @@ +#define MEM_EXTENDED_PARAMETER_TYPE_BITS 8 \ No newline at end of file diff --git a/ctypes_generation/definitions/functions/syscall.txt b/ctypes_generation/definitions/functions/syscall.txt index 6ddb980..ad5ae3f 100644 --- a/ctypes_generation/definitions/functions/syscall.txt +++ b/ctypes_generation/definitions/functions/syscall.txt @@ -367,3 +367,28 @@ NTSTATUS NtTerminateProcess( HANDLE ProcessHandle, NTSTATUS ExitStatus ); + + +NTSTATUS NtReadFile( + _In_ HANDLE FileHandle, + _In_opt_ HANDLE Event, + _In_opt_ PIO_APC_ROUTINE ApcRoutine, + _In_opt_ PVOID ApcContext, + _Out_ PIO_STATUS_BLOCK IoStatusBlock, + _Out_ PVOID Buffer, + _In_ ULONG Length, + _In_opt_ PLARGE_INTEGER ByteOffset, + _In_opt_ PULONG Key +); + +NTSTATUS NtWriteFile( + [in] HANDLE FileHandle, + [in, optional] HANDLE Event, + [in, optional] PIO_APC_ROUTINE ApcRoutine, + [in, optional] PVOID ApcContext, + [out] PIO_STATUS_BLOCK IoStatusBlock, + [in] PVOID Buffer, + [in] ULONG Length, + [in, optional] PLARGE_INTEGER ByteOffset, + [in, optional] PULONG Key +); \ No newline at end of file diff --git a/ctypes_generation/definitions/structures/section.txt b/ctypes_generation/definitions/structures/section.txt new file mode 100644 index 0000000..bc1dcb3 --- /dev/null +++ b/ctypes_generation/definitions/structures/section.txt @@ -0,0 +1,32 @@ +typedef enum MEM_EXTENDED_PARAMETER_TYPE { + MemExtendedParameterInvalidType = 0, + MemExtendedParameterAddressRequirements = 1, + MemExtendedParameterNumaNode = 2, + MemExtendedParameterPartitionHandle = 3, + MemExtendedParameterUserPhysicalHandle = 4, + MemExtendedParameterAttributeFlags = 5, + MemExtendedParameterImageMachine = 6, + MemExtendedParameterMax +} *PMEM_EXTENDED_PARAMETER_TYPE; + + +typedef struct _MEM_ADDRESS_REQUIREMENTS { + PVOID LowestStartingAddress; + PVOID HighestEndingAddress; + SIZE_T Alignment; +} MEM_ADDRESS_REQUIREMENTS, *PMEM_ADDRESS_REQUIREMENTS; + + +typedef struct MEM_EXTENDED_PARAMETER { + struct { + ULONG64 Type : 8; // MEM_EXTENDED_PARAMETER_TYPE_BITS -> define not handled in parser here + ULONG64 Reserved : 56; // 64 - MEM_EXTENDED_PARAMETER_TYPE_BITS -> define not handled in parser here + } DUMMYSTRUCTNAME; + union { + ULONG64 ULong64; + PVOID Pointer; + SIZE_T Size; + HANDLE Handle; + ULONG ULong; + } DUMMYUNIONNAME; +} MEM_EXTENDED_PARAMETER, *PMEM_EXTENDED_PARAMETER; \ No newline at end of file diff --git a/docs/source/interfaces_generated.rst b/docs/source/interfaces_generated.rst new file mode 100644 index 0000000..c1e4e53 --- /dev/null +++ b/docs/source/interfaces_generated.rst @@ -0,0 +1,1429 @@ +.. module:: windows.generated_def.interfaces + +Interfaces +---------- +.. class:: ICallFrame + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetInfo + .. method:: GetIIDAndMethod + .. method:: GetNames + .. method:: GetStackLocation + .. method:: SetStackLocation + .. method:: SetReturnValue + .. method:: GetReturnValue + .. method:: GetParamInfo + .. method:: SetParam + .. method:: GetParam + .. method:: Copy + .. method:: Free + .. method:: FreeParam + .. method:: WalkFrame + .. method:: GetMarshalSizeMax + .. method:: Marshal + .. method:: Unmarshal + .. method:: ReleaseMarshalData + .. method:: Invoke + + +.. class:: ICallFrameEvents + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: OnCall + + +.. class:: ICallFrameWalker + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: OnWalkInterface + + +.. class:: ICallInterceptor + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: CallIndirect + .. method:: GetMethodInfo + .. method:: GetStackSize + .. method:: GetIID + .. method:: RegisterSink + .. method:: GetRegisteredSink + + +.. class:: IDispatch + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + + +.. class:: IEnumVARIANT + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + + +.. class:: INetFwPolicy2 + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_CurrentProfileTypes + .. method:: get_FirewallEnabled + .. method:: put_FirewallEnabled + .. method:: get_ExcludedInterfaces + .. method:: put_ExcludedInterfaces + .. method:: get_BlockAllInboundTraffic + .. method:: put_BlockAllInboundTraffic + .. method:: get_NotificationsDisabled + .. method:: put_NotificationsDisabled + .. method:: get_UnicastResponsesToMulticastBroadcastDisabled + .. method:: put_UnicastResponsesToMulticastBroadcastDisabled + .. method:: get_Rules + .. method:: get_ServiceRestriction + .. method:: EnableRuleGroup + .. method:: IsRuleGroupEnabled + .. method:: RestoreLocalFirewallDefaults + .. method:: get_DefaultInboundAction + .. method:: put_DefaultInboundAction + .. method:: get_DefaultOutboundAction + .. method:: put_DefaultOutboundAction + .. method:: get_IsRuleGroupCurrentlyEnabled + .. method:: get_LocalPolicyModifyState + + +.. class:: INetFwRules + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: Add + .. method:: Remove + .. method:: Item + .. method:: get__NewEnum + + +.. class:: INetFwRule + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Name + .. method:: put_Name + .. method:: get_Description + .. method:: put_Description + .. method:: get_ApplicationName + .. method:: put_ApplicationName + .. method:: get_ServiceName + .. method:: put_ServiceName + .. method:: get_Protocol + .. method:: put_Protocol + .. method:: get_LocalPorts + .. method:: put_LocalPorts + .. method:: get_RemotePorts + .. method:: put_RemotePorts + .. method:: get_LocalAddresses + .. method:: put_LocalAddresses + .. method:: get_RemoteAddresses + .. method:: put_RemoteAddresses + .. method:: get_IcmpTypesAndCodes + .. method:: put_IcmpTypesAndCodes + .. method:: get_Direction + .. method:: put_Direction + .. method:: get_Interfaces + .. method:: put_Interfaces + .. method:: get_InterfaceTypes + .. method:: put_InterfaceTypes + .. method:: get_Enabled + .. method:: put_Enabled + .. method:: get_Grouping + .. method:: put_Grouping + .. method:: get_Profiles + .. method:: put_Profiles + .. method:: get_EdgeTraversal + .. method:: put_EdgeTraversal + .. method:: get_Action + .. method:: put_Action + + +.. class:: INetFwServiceRestriction + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: RestrictService + .. method:: ServiceRestricted + .. method:: get_Rules + + +.. class:: IPersist + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetClassID + + +.. class:: IPersistFile + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetClassID + .. method:: IsDirty + .. method:: Load + .. method:: Save + .. method:: SaveCompleted + .. method:: GetCurFile + + +.. class:: IShellLinkA + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetPath + .. method:: GetIDList + .. method:: SetIDList + .. method:: GetDescription + .. method:: SetDescription + .. method:: GetWorkingDirectory + .. method:: SetWorkingDirectory + .. method:: GetArguments + .. method:: SetArguments + .. method:: GetHotkey + .. method:: SetHotkey + .. method:: GetShowCmd + .. method:: SetShowCmd + .. method:: GetIconLocation + .. method:: SetIconLocation + .. method:: SetRelativePath + .. method:: Resolve + .. method:: SetPath + + +.. class:: IShellLinkW + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetPath + .. method:: GetIDList + .. method:: SetIDList + .. method:: GetDescription + .. method:: SetDescription + .. method:: GetWorkingDirectory + .. method:: SetWorkingDirectory + .. method:: GetArguments + .. method:: SetArguments + .. method:: GetHotkey + .. method:: SetHotkey + .. method:: GetShowCmd + .. method:: SetShowCmd + .. method:: GetIconLocation + .. method:: SetIconLocation + .. method:: SetRelativePath + .. method:: Resolve + .. method:: SetPath + + +.. class:: ITypeComp + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Bind + .. method:: BindType + + +.. class:: ITypeInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeAttr + .. method:: GetTypeComp + .. method:: GetFuncDesc + .. method:: GetVarDesc + .. method:: GetNames + .. method:: GetRefTypeOfImplType + .. method:: GetImplTypeFlags + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: GetDocumentation + .. method:: GetDllEntry + .. method:: GetRefTypeInfo + .. method:: AddressOfMember + .. method:: CreateInstance + .. method:: GetMops + .. method:: GetContainingTypeLib + .. method:: ReleaseTypeAttr + .. method:: ReleaseFuncDesc + .. method:: ReleaseVarDesc + + +.. class:: ITypeLib + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetTypeInfoType + .. method:: GetTypeInfoOfGuid + .. method:: GetLibAttr + .. method:: GetTypeComp + .. method:: GetDocumentation + .. method:: IsName + .. method:: FindName + .. method:: ReleaseTLibAttr + + +.. class:: IUnknown + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + + +.. class:: IBackgroundCopyCallback + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: JobTransferred + .. method:: JobError + .. method:: JobModification + + +.. class:: IBackgroundCopyError + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetError + .. method:: GetFile + .. method:: GetErrorDescription + .. method:: GetErrorContextDescription + .. method:: GetProtocol + + +.. class:: IBackgroundCopyFile + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetRemoteName + .. method:: GetLocalName + .. method:: GetProgress + + +.. class:: IBackgroundCopyFile2 + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetRemoteName + .. method:: GetLocalName + .. method:: GetProgress + .. method:: GetFileRanges + .. method:: SetRemoteName + + +.. class:: IBackgroundCopyFile3 + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetRemoteName + .. method:: GetLocalName + .. method:: GetProgress + .. method:: GetFileRanges + .. method:: SetRemoteName + .. method:: GetTemporaryName + .. method:: SetValidationState + .. method:: GetValidationState + .. method:: IsDownloadedFromPeer + + +.. class:: IBackgroundCopyJob + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: AddFileSet + .. method:: AddFile + .. method:: EnumFiles + .. method:: Suspend + .. method:: Resume + .. method:: Cancel + .. method:: Complete + .. method:: GetId + .. method:: GetType + .. method:: GetProgress + .. method:: GetTimes + .. method:: GetState + .. method:: GetError + .. method:: GetOwner + .. method:: SetDisplayName + .. method:: GetDisplayName + .. method:: SetDescription + .. method:: GetDescription + .. method:: SetPriority + .. method:: GetPriority + .. method:: SetNotifyFlags + .. method:: GetNotifyFlags + .. method:: SetNotifyInterface + .. method:: GetNotifyInterface + .. method:: SetMinimumRetryDelay + .. method:: GetMinimumRetryDelay + .. method:: SetNoProgressTimeout + .. method:: GetNoProgressTimeout + .. method:: GetErrorCount + .. method:: SetProxySettings + .. method:: GetProxySettings + .. method:: TakeOwnership + + +.. class:: IBackgroundCopyJob2 + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: AddFileSet + .. method:: AddFile + .. method:: EnumFiles + .. method:: Suspend + .. method:: Resume + .. method:: Cancel + .. method:: Complete + .. method:: GetId + .. method:: GetType + .. method:: GetProgress + .. method:: GetTimes + .. method:: GetState + .. method:: GetError + .. method:: GetOwner + .. method:: SetDisplayName + .. method:: GetDisplayName + .. method:: SetDescription + .. method:: GetDescription + .. method:: SetPriority + .. method:: GetPriority + .. method:: SetNotifyFlags + .. method:: GetNotifyFlags + .. method:: SetNotifyInterface + .. method:: GetNotifyInterface + .. method:: SetMinimumRetryDelay + .. method:: GetMinimumRetryDelay + .. method:: SetNoProgressTimeout + .. method:: GetNoProgressTimeout + .. method:: GetErrorCount + .. method:: SetProxySettings + .. method:: GetProxySettings + .. method:: TakeOwnership + .. method:: SetNotifyCmdLine + .. method:: GetNotifyCmdLine + .. method:: GetReplyProgress + .. method:: GetReplyData + .. method:: SetReplyFileName + .. method:: GetReplyFileName + .. method:: SetCredentials + .. method:: RemoveCredentials + + +.. class:: IBackgroundCopyManager + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: CreateJob + .. method:: GetJob + .. method:: EnumJobs + .. method:: GetErrorDescription + + +.. class:: IEnumBackgroundCopyFiles + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + .. method:: GetCount + + +.. class:: IEnumBackgroundCopyJobs + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + .. method:: GetCount + + +.. class:: IBindCtx + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: RegisterObjectBound + .. method:: RevokeObjectBound + .. method:: ReleaseBoundObjects + .. method:: SetBindOptions + .. method:: GetBindOptions + .. method:: GetRunningObjectTable + .. method:: RegisterObjectParam + .. method:: GetObjectParam + .. method:: EnumObjectParam + .. method:: RevokeObjectParam + + +.. class:: IEnumExplorerCommand + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + + +.. class:: IEnumMoniker + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + + +.. class:: IEnumShellItems + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + + +.. class:: IEnumString + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Next + .. method:: Skip + .. method:: Reset + .. method:: Clone + + +.. class:: IExplorerCommand + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTitle + .. method:: GetIcon + .. method:: GetToolTip + .. method:: GetCanonicalName + .. method:: GetState + .. method:: Invoke + .. method:: GetFlags + .. method:: EnumSubCommands + + +.. class:: IMoniker + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetClassID + .. method:: IsDirty + .. method:: Load + .. method:: Save + .. method:: GetSizeMax + .. method:: BindToObject + .. method:: BindToStorage + .. method:: Reduce + .. method:: ComposeWith + .. method:: Enum + .. method:: IsEqual + .. method:: Hash + .. method:: IsRunning + .. method:: GetTimeOfLastChange + .. method:: Inverse + .. method:: CommonPrefixWith + .. method:: RelativePathTo + .. method:: GetDisplayName + .. method:: ParseDisplayName + .. method:: IsSystemMoniker + + +.. class:: IRunningObjectTable + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Register + .. method:: Revoke + .. method:: IsRunning + .. method:: GetObject + .. method:: NoteChangeTime + .. method:: GetTimeOfLastChange + .. method:: EnumRunning + + +.. class:: IShellItem + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: BindToHandler + .. method:: GetParent + .. method:: GetDisplayName + .. method:: GetAttributes + .. method:: Compare + + +.. class:: IShellItemArray + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: BindToHandler + .. method:: GetPropertyStore + .. method:: GetPropertyDescriptionList + .. method:: GetAttributes + .. method:: GetCount + .. method:: GetItemAt + .. method:: EnumItems + + +.. class:: IStream + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Read + .. method:: Write + .. method:: Seek + .. method:: SetSize + .. method:: CopyTo + .. method:: Commit + .. method:: Revert + .. method:: LockRegion + .. method:: UnlockRegion + .. method:: Stat + .. method:: Clone + + +.. class:: IApplicationActivationManager + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: ActivateApplication + .. method:: ActivateForFile + .. method:: ActivateForProtocol + + +.. class:: IPackageDebugSettings + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: EnableDebugging + .. method:: DisableDebugging + .. method:: Suspend + .. method:: Resume + .. method:: TerminateAllProcesses + .. method:: SetTargetSessionId + .. method:: EnumerateBackgroundTasks + .. method:: ActivateBackgroundTask + .. method:: StartServicing + .. method:: StopServicing + .. method:: StartSessionRedirection + .. method:: StopSessionRedirection + .. method:: GetPackageExecutionState + .. method:: RegisterForPackageStateChanges + .. method:: UnregisterForPackageStateChanges + + +.. class:: IPackageExecutionStateChangeNotification + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: OnStateChanged + + +.. class:: IAction + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Id + .. method:: put_Id + .. method:: get_Type + + +.. class:: IActionCollection + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: get_Item + .. method:: get__NewEnum + .. method:: get_XmlText + .. method:: put_XmlText + .. method:: Create + .. method:: Remove + .. method:: Clear + .. method:: get_Context + .. method:: put_Context + + +.. class:: IComHandlerAction + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Id + .. method:: put_Id + .. method:: get_Type + .. method:: get_ClassId + .. method:: put_ClassId + .. method:: get_Data + .. method:: put_Data + + +.. class:: IEmailAction + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Id + .. method:: put_Id + .. method:: get_Type + .. method:: get_Server + .. method:: put_Server + .. method:: get_Subject + .. method:: put_Subject + .. method:: get_To + .. method:: put_To + .. method:: get_Cc + .. method:: put_Cc + .. method:: get_Bcc + .. method:: put_Bcc + .. method:: get_ReplyTo + .. method:: put_ReplyTo + .. method:: get_From + .. method:: put_From + .. method:: get_HeaderFields + .. method:: put_HeaderFields + .. method:: get_Body + .. method:: put_Body + .. method:: get_Attachments + .. method:: put_Attachments + + +.. class:: IExecAction + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Id + .. method:: put_Id + .. method:: get_Type + .. method:: get_Path + .. method:: put_Path + .. method:: get_Arguments + .. method:: put_Arguments + .. method:: get_WorkingDirectory + .. method:: put_WorkingDirectory + + +.. class:: IIdleSettings + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_IdleDuration + .. method:: put_IdleDuration + .. method:: get_WaitTimeout + .. method:: put_WaitTimeout + .. method:: get_StopOnIdleEnd + .. method:: put_StopOnIdleEnd + .. method:: get_RestartOnIdle + .. method:: put_RestartOnIdle + + +.. class:: INetworkSettings + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Name + .. method:: put_Name + .. method:: get_Id + .. method:: put_Id + + +.. class:: IPrincipal + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Id + .. method:: put_Id + .. method:: get_DisplayName + .. method:: put_DisplayName + .. method:: get_UserId + .. method:: put_UserId + .. method:: get_LogonType + .. method:: put_LogonType + .. method:: get_GroupId + .. method:: put_GroupId + .. method:: get_RunLevel + .. method:: put_RunLevel + + +.. class:: IRegisteredTask + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Name + .. method:: get_Path + .. method:: get_State + .. method:: get_Enabled + .. method:: put_Enabled + .. method:: Run + .. method:: RunEx + .. method:: GetInstances + .. method:: get_LastRunTime + .. method:: get_LastTaskResult + .. method:: get_NumberOfMissedRuns + .. method:: get_NextRunTime + .. method:: get_Definition + .. method:: get_Xml + .. method:: GetSecurityDescriptor + .. method:: SetSecurityDescriptor + .. method:: Stop + .. method:: GetRunTimes + + +.. class:: IRegisteredTaskCollection + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: get_Item + .. method:: get__NewEnum + + +.. class:: IRegistrationInfo + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Description + .. method:: put_Description + .. method:: get_Author + .. method:: put_Author + .. method:: get_Version + .. method:: put_Version + .. method:: get_Date + .. method:: put_Date + .. method:: get_Documentation + .. method:: put_Documentation + .. method:: get_XmlText + .. method:: put_XmlText + .. method:: get_URI + .. method:: put_URI + .. method:: get_SecurityDescriptor + .. method:: put_SecurityDescriptor + .. method:: get_Source + .. method:: put_Source + + +.. class:: IRepetitionPattern + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Interval + .. method:: put_Interval + .. method:: get_Duration + .. method:: put_Duration + .. method:: get_StopAtDurationEnd + .. method:: put_StopAtDurationEnd + + +.. class:: IRunningTask + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Name + .. method:: get_InstanceGuid + .. method:: get_Path + .. method:: get_State + .. method:: get_CurrentAction + .. method:: Stop + .. method:: Refresh + .. method:: get_EnginePID + + +.. class:: IRunningTaskCollection + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: get_Item + .. method:: get__NewEnum + + +.. class:: IShowMessageAction + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Id + .. method:: put_Id + .. method:: get_Type + .. method:: get_Title + .. method:: put_Title + .. method:: get_MessageBody + .. method:: put_MessageBody + + +.. class:: ITaskDefinition + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_RegistrationInfo + .. method:: put_RegistrationInfo + .. method:: get_Triggers + .. method:: put_Triggers + .. method:: get_Settings + .. method:: put_Settings + .. method:: get_Data + .. method:: put_Data + .. method:: get_Principal + .. method:: put_Principal + .. method:: get_Actions + .. method:: put_Actions + .. method:: get_XmlText + .. method:: put_XmlText + + +.. class:: ITaskFolder + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Name + .. method:: get_Path + .. method:: GetFolder + .. method:: GetFolders + .. method:: CreateFolder + .. method:: DeleteFolder + .. method:: GetTask + .. method:: GetTasks + .. method:: DeleteTask + .. method:: RegisterTask + .. method:: RegisterTaskDefinition + .. method:: GetSecurityDescriptor + .. method:: SetSecurityDescriptor + + +.. class:: ITaskFolderCollection + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: get_Item + .. method:: get__NewEnum + + +.. class:: ITaskNamedValueCollection + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: get_Item + .. method:: get__NewEnum + .. method:: Create + .. method:: Remove + .. method:: Clear + + +.. class:: ITaskNamedValuePair + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Name + .. method:: put_Name + .. method:: get_Value + .. method:: put_Value + + +.. class:: ITaskService + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: GetFolder + .. method:: GetRunningTasks + .. method:: NewTask + .. method:: Connect + .. method:: get_Connected + .. method:: get_TargetServer + .. method:: get_ConnectedUser + .. method:: get_ConnectedDomain + .. method:: get_HighestVersion + + +.. class:: ITaskSettings + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_AllowDemandStart + .. method:: put_AllowDemandStart + .. method:: get_RestartInterval + .. method:: put_RestartInterval + .. method:: get_RestartCount + .. method:: put_RestartCount + .. method:: get_MultipleInstances + .. method:: put_MultipleInstances + .. method:: get_StopIfGoingOnBatteries + .. method:: put_StopIfGoingOnBatteries + .. method:: get_DisallowStartIfOnBatteries + .. method:: put_DisallowStartIfOnBatteries + .. method:: get_AllowHardTerminate + .. method:: put_AllowHardTerminate + .. method:: get_StartWhenAvailable + .. method:: put_StartWhenAvailable + .. method:: get_XmlText + .. method:: put_XmlText + .. method:: get_RunOnlyIfNetworkAvailable + .. method:: put_RunOnlyIfNetworkAvailable + .. method:: get_ExecutionTimeLimit + .. method:: put_ExecutionTimeLimit + .. method:: get_Enabled + .. method:: put_Enabled + .. method:: get_DeleteExpiredTaskAfter + .. method:: put_DeleteExpiredTaskAfter + .. method:: get_Priority + .. method:: put_Priority + .. method:: get_Compatibility + .. method:: put_Compatibility + .. method:: get_Hidden + .. method:: put_Hidden + .. method:: get_IdleSettings + .. method:: put_IdleSettings + .. method:: get_RunOnlyIfIdle + .. method:: put_RunOnlyIfIdle + .. method:: get_WakeToRun + .. method:: put_WakeToRun + .. method:: get_NetworkSettings + .. method:: put_NetworkSettings + + +.. class:: ITrigger + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Type + .. method:: get_Id + .. method:: put_Id + .. method:: get_Repetition + .. method:: put_Repetition + .. method:: get_ExecutionTimeLimit + .. method:: put_ExecutionTimeLimit + .. method:: get_StartBoundary + .. method:: put_StartBoundary + .. method:: get_EndBoundary + .. method:: put_EndBoundary + .. method:: get_Enabled + .. method:: put_Enabled + + +.. class:: ITriggerCollection + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: get_Count + .. method:: get_Item + .. method:: get__NewEnum + .. method:: Create + .. method:: Remove + .. method:: Clear + + +.. class:: IWebBrowser2 + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetTypeInfoCount + .. method:: GetTypeInfo + .. method:: GetIDsOfNames + .. method:: Invoke + .. method:: GoBack + .. method:: GoForward + .. method:: GoHome + .. method:: GoSearch + .. method:: Navigate + .. method:: Refresh + .. method:: Refresh2 + .. method:: Stop + .. method:: get_Application + .. method:: get_Parent + .. method:: get_Container + .. method:: get_Document + .. method:: get_TopLevelContainer + .. method:: get_Type + .. method:: get_Left + .. method:: put_Left + .. method:: get_Top + .. method:: put_Top + .. method:: get_Width + .. method:: put_Width + .. method:: get_Height + .. method:: put_Height + .. method:: get_LocationName + .. method:: get_LocationURL + .. method:: get_Busy + .. method:: Quit + .. method:: ClientToWindow + .. method:: PutProperty + .. method:: GetProperty + .. method:: get_Name + .. method:: get_HWND + .. method:: get_FullName + .. method:: get_Path + .. method:: get_Visible + .. method:: put_Visible + .. method:: get_StatusBar + .. method:: put_StatusBar + .. method:: get_StatusText + .. method:: put_StatusText + .. method:: get_ToolBar + .. method:: put_ToolBar + .. method:: get_MenuBar + .. method:: put_MenuBar + .. method:: get_FullScreen + .. method:: put_FullScreen + .. method:: Navigate2 + .. method:: QueryStatusWB + .. method:: ExecWB + .. method:: ShowBrowserBar + .. method:: get_ReadyState + .. method:: get_Offline + .. method:: put_Offline + .. method:: get_Silent + .. method:: put_Silent + .. method:: get_RegisterAsBrowser + .. method:: put_RegisterAsBrowser + .. method:: get_RegisterAsDropTarget + .. method:: put_RegisterAsDropTarget + .. method:: get_TheaterMode + .. method:: put_TheaterMode + .. method:: get_AddressBar + .. method:: put_AddressBar + .. method:: get_Resizable + .. method:: put_Resizable + + +.. class:: IEnumWbemClassObject + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Reset + .. method:: Next + .. method:: NextAsync + .. method:: Clone + .. method:: Skip + + +.. class:: IWbemCallResult + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetResultObject + .. method:: GetResultString + .. method:: GetResultServices + .. method:: GetCallStatus + + +.. class:: IWbemClassObject + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetQualifierSet + .. method:: Get + .. method:: Put + .. method:: Delete + .. method:: GetNames + .. method:: BeginEnumeration + .. method:: Next + .. method:: EndEnumeration + .. method:: GetPropertyQualifierSet + .. method:: Clone + .. method:: GetObjectText + .. method:: SpawnDerivedClass + .. method:: SpawnInstance + .. method:: CompareTo + .. method:: GetPropertyOrigin + .. method:: InheritsFrom + .. method:: GetMethod + .. method:: PutMethod + .. method:: DeleteMethod + .. method:: BeginMethodEnumeration + .. method:: NextMethod + .. method:: EndMethodEnumeration + .. method:: GetMethodQualifierSet + .. method:: GetMethodOrigin + + +.. class:: IWbemContext + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Clone + .. method:: GetNames + .. method:: BeginEnumeration + .. method:: Next + .. method:: EndEnumeration + .. method:: SetValue + .. method:: GetValue + .. method:: DeleteValue + .. method:: DeleteAll + + +.. class:: IWbemLocator + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: ConnectServer + + +.. class:: IWbemObjectSink + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Indicate + .. method:: SetStatus + + +.. class:: IWbemObjectTextSrc + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: GetText + .. method:: CreateFromText + + +.. class:: IWbemQualifierSet + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: Get + .. method:: Put + .. method:: Delete + .. method:: GetNames + .. method:: BeginEnumeration + .. method:: Next + .. method:: EndEnumeration + + +.. class:: IWbemServices + + .. method:: QueryInterface + .. method:: AddRef + .. method:: Release + .. method:: OpenNamespace + .. method:: CancelAsyncCall + .. method:: QueryObjectSink + .. method:: GetObject + .. method:: GetObjectAsync + .. method:: PutClass + .. method:: PutClassAsync + .. method:: DeleteClass + .. method:: DeleteClassAsync + .. method:: CreateClassEnum + .. method:: CreateClassEnumAsync + .. method:: PutInstance + .. method:: PutInstanceAsync + .. method:: DeleteInstance + .. method:: DeleteInstanceAsync + .. method:: CreateInstanceEnum + .. method:: CreateInstanceEnumAsync + .. method:: ExecQuery + .. method:: ExecQueryAsync + .. method:: ExecNotificationQuery + .. method:: ExecNotificationQueryAsync + .. method:: ExecMethod + .. method:: ExecMethodAsync + + diff --git a/docs/source/windef_generated.rst b/docs/source/windef_generated.rst index 2466055..834a0c3 100644 --- a/docs/source/windef_generated.rst +++ b/docs/source/windef_generated.rst @@ -1127,6 +1127,7 @@ WinDef .. autodata:: REG_STANDARD_FORMAT .. autodata:: REG_LATEST_FORMAT .. autodata:: REG_NO_COMPRESSION +.. autodata:: MEM_EXTENDED_PARAMETER_TYPE_BITS .. autodata:: ACCESS_MIN_MS_ACE_TYPE .. autodata:: ACCESS_ALLOWED_ACE_TYPE .. autodata:: ACCESS_DENIED_ACE_TYPE diff --git a/docs/source/winfuncs_generated.rst b/docs/source/winfuncs_generated.rst new file mode 100644 index 0000000..f040219 --- /dev/null +++ b/docs/source/winfuncs_generated.rst @@ -0,0 +1,1678 @@ +.. module:: windows.generated_def.winfuncs + +Functions +---------- +.. function:: ObjectFromLresult(lResult, riid, wParam, ppvObject) + +.. function:: NtAlpcCreatePort(PortHandle, ObjectAttributes, PortAttributes) + +.. function:: NtAlpcQueryInformation(PortHandle, PortInformationClass, PortInformation, Length, ReturnLength) + +.. function:: NtAlpcQueryInformationMessage(PortHandle, PortMessage, MessageInformationClass, MessageInformation, Length, ReturnLength) + +.. function:: NtConnectPort(PortHandle, PortName, SecurityQos, ClientView, ServerView, MaxMessageLength, ConnectionInformation, ConnectionInformationLength) + +.. function:: NtAlpcConnectPort(PortHandle, PortName, ObjectAttributes, PortAttributes, Flags, RequiredServerSid, ConnectionMessage, BufferLength, OutMessageAttributes, InMessageAttributes, Timeout) + +.. function:: NtAlpcConnectPortEx(PortHandle, ConnectionPortObjectAttributes, ClientPortObjectAttributes, PortAttributes, Flags, ServerSecurityRequirements, ConnectionMessage, BufferLength, OutMessageAttributes, InMessageAttributes, Timeout) + +.. function:: NtAlpcAcceptConnectPort(PortHandle, ConnectionPortHandle, Flags, ObjectAttributes, PortAttributes, PortContext, ConnectionRequest, ConnectionMessageAttributes, AcceptConnection) + +.. function:: AlpcInitializeMessageAttribute(AttributeFlags, Buffer, BufferSize, RequiredBufferSize) + +.. function:: AlpcGetMessageAttribute(Buffer, AttributeFlag) + +.. function:: NtAlpcSendWaitReceivePort(PortHandle, Flags, SendMessage, SendMessageAttributes, ReceiveMessage, BufferLength, ReceiveMessageAttributes, Timeout) + +.. function:: NtAlpcDisconnectPort(PortHandle, Flags) + +.. function:: NtAlpcCreatePortSection(PortHandle, Flags, SectionHandle, SectionSize, AlpcSectionHandle, ActualSectionSize) + +.. function:: NtAlpcDeletePortSection(PortHandle, Flags, SectionHandle) + +.. function:: NtAlpcCreateResourceReserve(PortHandle, Flags, MessageSize, ResourceId) + +.. function:: NtAlpcDeleteResourceReserve(PortHandle, Flags, ResourceId) + +.. function:: NtAlpcCreateSectionView(PortHandle, Flags, ViewAttributes) + +.. function:: NtAlpcDeleteSectionView(PortHandle, Flags, ViewBase) + +.. function:: NtAlpcCreateSecurityContext(PortHandle, Flags, SecurityAttribute) + +.. function:: NtAlpcDeleteSecurityContext(PortHandle, Flags, ContextHandle) + +.. function:: NtAlpcRevokeSecurityContext(PortHandle, Flags, ContextHandle) + +.. function:: NtAlpcImpersonateClientOfPort(PortHandle, Message, Flags) + +.. function:: TpCallbackSendAlpcMessageOnCompletion(TpHandle, PortHandle, Flags, SendMessage) + +.. function:: AddAtomA(lpString) + +.. function:: AddAtomW(lpString) + +.. function:: GlobalAddAtomA(lpString) + +.. function:: GlobalAddAtomExA(lpString, Flags) + +.. function:: GlobalAddAtomExW(lpString, Flags) + +.. function:: GlobalAddAtomW(lpString) + +.. function:: GlobalDeleteAtom(nAtom) + +.. function:: GlobalGetAtomNameA(nAtom, lpBuffer, nSize) + +.. function:: GlobalGetAtomNameW(nAtom, lpBuffer, nSize) + +.. function:: CM_Enumerate_Classes(ulClassIndex, ClassGuid, ulFlags) + +.. function:: CM_Enumerate_Classes_Ex(ulClassIndex, ClassGuid, ulFlags, hMachine) + +.. function:: CM_Get_First_Log_Conf(plcLogConf, dnDevInst, ulFlags) + +.. function:: CM_Get_First_Log_Conf_Ex(plcLogConf, dnDevInst, ulFlags, hMachine) + +.. function:: CM_Get_Log_Conf_Priority(lcLogConf, pPriority, ulFlags) + +.. function:: CM_Get_Log_Conf_Priority_Ex(lcLogConf, pPriority, ulFlags, hMachine) + +.. function:: CM_Get_Next_Log_Conf(plcLogConf, lcLogConf, ulFlags) + +.. function:: CM_Get_Next_Log_Conf_Ex(plcLogConf, lcLogConf, ulFlags, hMachine) + +.. function:: CM_Free_Res_Des_Handle(rdResDes) + +.. function:: CM_Get_Child(pdnDevInst, dnDevInst, ulFlags) + +.. function:: CM_Get_Child_Ex(pdnDevInst, dnDevInst, ulFlags, hMachine) + +.. function:: CM_Get_Next_Res_Des(prdResDes, rdResDes, ForResource, pResourceID, ulFlags) + +.. function:: CM_Get_Parent(pdnDevInst, dnDevInst, ulFlags) + +.. function:: CM_Get_Parent_Ex(pdnDevInst, dnDevInst, ulFlags, hMachine) + +.. function:: CM_Get_Res_Des_Data(rdResDes, Buffer, BufferLen, ulFlags) + +.. function:: CM_Get_Next_Res_Des_Ex(prdResDes, rdResDes, ForResource, pResourceID, ulFlags, hMachine) + +.. function:: CM_Get_Res_Des_Data_Size(pulSize, rdResDes, ulFlags) + +.. function:: CM_Get_Res_Des_Data_Size_Ex(pulSize, rdResDes, ulFlags, hMachine) + +.. function:: CM_Get_Sibling(pdnDevInst, dnDevInst, ulFlags) + +.. function:: CM_Get_Sibling_Ex(pdnDevInst, dnDevInst, ulFlags, hMachine) + +.. function:: CM_Get_Version() + +.. function:: CM_Get_Version_Ex(hMachine) + +.. function:: CM_Locate_DevNodeA(pdnDevInst, pDeviceID, ulFlags) + +.. function:: CM_Locate_DevNodeW(pdnDevInst, pDeviceID, ulFlags) + +.. function:: CM_Locate_DevNode_ExA(pdnDevInst, pDeviceID, ulFlags, hMachine) + +.. function:: CM_Locate_DevNode_ExW(pdnDevInst, pDeviceID, ulFlags, hMachine) + +.. function:: CoInitializeEx(pvReserved, dwCoInit) + +.. function:: CoInitializeSecurity(pSecDesc, cAuthSvc, asAuthSvc, pReserved1, dwAuthnLevel, dwImpLevel, pAuthList, dwCapabilities, pReserved3) + +.. function:: CoCreateInstance(rclsid, pUnkOuter, dwClsContext, riid, ppv) + +.. function:: CoCreateInstanceEx(rclsid, punkOuter, dwClsCtx, pServerInfo, dwCount, pResults) + +.. function:: CoGetClassObject(rclsid, dwClsContext, pvReserved, riid, ppv) + +.. function:: CoGetInterceptor(iidIntercepted, punkOuter, iid, ppv) + +.. function:: CLSIDFromProgID(lpszProgID, lpclsid) + +.. function:: CoTaskMemFree(pv) + +.. function:: SafeArrayCreate(vt, cDims, rgsabound) + +.. function:: SafeArrayCreateVector(vt, lLbound, cElements) + +.. function:: SafeArrayDestroy(psa) + +.. function:: SafeArrayDestroyData(psa) + +.. function:: SafeArrayGetElement(psa, rgIndices, pv) + +.. function:: SafeArrayGetElemsize(psa) + +.. function:: SafeArrayGetLBound(psa, nDim, plLbound) + +.. function:: SafeArrayGetUBound(psa, nDim, plUbound) + +.. function:: SafeArrayGetDim(psa) + +.. function:: SafeArrayPutElement(psa, rgIndices, pv) + +.. function:: SafeArrayGetVartype(psa, pvt) + +.. function:: SafeArrayCopy(psa, ppsaOut) + +.. function:: SafeArrayCopyData(psaSource, psaTarget) + +.. function:: SysAllocString(psz) + +.. function:: SysFreeString(bstrString) + +.. function:: CryptCATAdminCalcHashFromFileHandle(hFile, pcbHash, pbHash, dwFlags) + +.. function:: CryptCATAdminCalcHashFromFileHandle2(hCatAdmin, hFile, pcbHash, pbHash, dwFlags) + +.. function:: CryptCATAdminEnumCatalogFromHash(hCatAdmin, pbHash, cbHash, dwFlags, phPrevCatInfo) + +.. function:: CryptCATAdminAcquireContext(phCatAdmin, pgSubsystem, dwFlags) + +.. function:: CryptCATAdminAcquireContext2(phCatAdmin, pgSubsystem, pwszHashAlgorithm, pStrongHashPolicy, dwFlags) + +.. function:: CryptCATCatalogInfoFromContext(hCatInfo, psCatInfo, dwFlags) + +.. function:: CryptCATAdminReleaseCatalogContext(hCatAdmin, hCatInfo, dwFlags) + +.. function:: CryptCATAdminReleaseContext(hCatAdmin, dwFlags) + +.. function:: CryptCATGetMemberInfo(hCatalog, pwszReferenceTag) + +.. function:: CryptCATGetAttrInfo(hCatalog, pCatMember, pwszReferenceTag) + +.. function:: CryptCATEnumerateCatAttr(hCatalog, pPrevAttr) + +.. function:: CryptCATEnumerateAttr(hCatalog, pCatMember, pPrevAttr) + +.. function:: CryptCATEnumerateMember(hCatalog, pPrevMember) + +.. function:: CryptQueryObject(dwObjectType, pvObject, dwExpectedContentTypeFlags, dwExpectedFormatTypeFlags, dwFlags, pdwMsgAndCertEncodingType, pdwContentType, pdwFormatType, phCertStore, phMsg, ppvContext) + +.. function:: CryptMsgGetParam(hCryptMsg, dwParamType, dwIndex, pvData, pcbData) + +.. function:: CryptDecodeObject(dwCertEncodingType, lpszStructType, pbEncoded, cbEncoded, dwFlags, pvStructInfo, pcbStructInfo) + +.. function:: CertFindCertificateInStore(hCertStore, dwCertEncodingType, dwFindFlags, dwFindType, pvFindPara, pPrevCertContext) + +.. function:: CertGetNameStringA(pCertContext, dwType, dwFlags, pvTypePara, pszNameString, cchNameString) + +.. function:: CertGetNameStringW(pCertContext, dwType, dwFlags, pvTypePara, pszNameString, cchNameString) + +.. function:: CertGetCertificateChain(hChainEngine, pCertContext, pTime, hAdditionalStore, pChainPara, dwFlags, pvReserved, ppChainContext) + +.. function:: CertCreateSelfSignCertificate(hCryptProvOrNCryptKey, pSubjectIssuerBlob, dwFlags, pKeyProvInfo, pSignatureAlgorithm, pStartTime, pEndTime, pExtensions) + +.. function:: CertStrToNameA(dwCertEncodingType, pszX500, dwStrType, pvReserved, pbEncoded, pcbEncoded, ppszError) + +.. function:: CertStrToNameW(dwCertEncodingType, pszX500, dwStrType, pvReserved, pbEncoded, pcbEncoded, ppszError) + +.. function:: CertOpenStore(lpszStoreProvider, dwMsgAndCertEncodingType, hCryptProv, dwFlags, pvPara) + +.. function:: CertAddCertificateContextToStore(hCertStore, pCertContext, dwAddDisposition, ppStoreContext) + +.. function:: CertFreeCertificateContext(pCertContext) + +.. function:: PFXExportCertStoreEx(hStore, pPFX, szPassword, pvPara, dwFlags) + +.. function:: PFXImportCertStore(pPFX, szPassword, dwFlags) + +.. function:: CryptGenKey(hProv, Algid, dwFlags, phKey) + +.. function:: CryptDestroyKey(hKey) + +.. function:: CryptAcquireContextA(phProv, pszContainer, pszProvider, dwProvType, dwFlags) + +.. function:: CryptAcquireContextW(phProv, pszContainer, pszProvider, dwProvType, dwFlags) + +.. function:: CryptReleaseContext(hProv, dwFlags) + +.. function:: CryptCreateHash(hProv, Algid, hKey, dwFlags, phHash) + +.. function:: CryptHashData(hHash, pbData, dwDataLen, dwFlags) + +.. function:: CryptGetHashParam(hHash, dwParam, pbData, pdwDataLen, dwFlags) + +.. function:: CryptVerifySignatureA(hHash, pbSignature, dwSigLen, hPubKey, szDescription, dwFlags) + +.. function:: CryptVerifySignatureW(hHash, pbSignature, dwSigLen, hPubKey, szDescription, dwFlags) + +.. function:: CryptSignHashA(hHash, dwKeySpec, szDescription, dwFlags, pbSignature, pdwSigLen) + +.. function:: CryptSignHashW(hHash, dwKeySpec, szDescription, dwFlags, pbSignature, pdwSigLen) + +.. function:: CryptDestroyHash(hHash) + +.. function:: CryptDeriveKey(hProv, Algid, hBaseData, dwFlags, phKey) + +.. function:: CryptExportKey(hKey, hExpKey, dwBlobType, dwFlags, pbData, pdwDataLen) + +.. function:: CryptImportKey(hProv, pbData, dwDataLen, hPubKey, dwFlags, phKey) + +.. function:: CertGetCertificateContextProperty(pCertContext, dwPropId, pvData, pcbData) + +.. function:: CertEnumCertificateContextProperties(pCertContext, dwPropId) + +.. function:: CryptEncryptMessage(pEncryptPara, cRecipientCert, rgpRecipientCert, pbToBeEncrypted, cbToBeEncrypted, pbEncryptedBlob, pcbEncryptedBlob) + +.. function:: CryptDecryptMessage(pDecryptPara, pbEncryptedBlob, cbEncryptedBlob, pbDecrypted, pcbDecrypted, ppXchgCert) + +.. function:: CryptAcquireCertificatePrivateKey(pCert, dwFlags, pvParameters, phCryptProvOrNCryptKey, pdwKeySpec, pfCallerFreeProvOrNCryptKey) + +.. function:: CertDuplicateCertificateContext(pCertContext) + +.. function:: CertEnumCertificatesInStore(hCertStore, pPrevCertContext) + +.. function:: CryptEncodeObjectEx(dwCertEncodingType, lpszStructType, pvStructInfo, dwFlags, pEncodePara, pvEncoded, pcbEncoded) + +.. function:: CertCreateCertificateContext(dwCertEncodingType, pbCertEncoded, cbCertEncoded) + +.. function:: CertCompareCertificate(dwCertEncodingType, pCertId1, pCertId2) + +.. function:: CertEnumCTLsInStore(hCertStore, pPrevCtlContext) + +.. function:: CertDuplicateCTLContext(pCtlContext) + +.. function:: CertFreeCTLContext(pCtlContext) + +.. function:: CryptUIDlgViewContext(dwContextType, pvContext, hwnd, pwszTitle, dwFlags, pvReserved) + +.. function:: CryptMsgVerifyCountersignatureEncoded(hCryptProv, dwEncodingType, pbSignerInfo, cbSignerInfo, pbSignerInfoCountersignature, cbSignerInfoCountersignature, pciCountersigner) + +.. function:: CryptMsgVerifyCountersignatureEncodedEx(hCryptProv, dwEncodingType, pbSignerInfo, cbSignerInfo, pbSignerInfoCountersignature, cbSignerInfoCountersignature, dwSignerType, pvSigner, dwFlags, pvExtra) + +.. function:: CryptHashCertificate(hCryptProv, Algid, dwFlags, pbEncoded, cbEncoded, pbComputedHash, pcbComputedHash) + +.. function:: CryptSignMessage(pSignPara, fDetachedSignature, cToBeSigned, rgpbToBeSigned, rgcbToBeSigned, pbSignedBlob, pcbSignedBlob) + +.. function:: CryptSignAndEncryptMessage(pSignPara, pEncryptPara, cRecipientCert, rgpRecipientCert, pbToBeSignedAndEncrypted, cbToBeSignedAndEncrypted, pbSignedAndEncryptedBlob, pcbSignedAndEncryptedBlob) + +.. function:: CryptVerifyMessageSignature(pVerifyPara, dwSignerIndex, pbSignedBlob, cbSignedBlob, pbDecoded, pcbDecoded, ppSignerCert) + +.. function:: CryptVerifyMessageSignatureWithKey(pVerifyPara, pPublicKeyInfo, pbSignedBlob, cbSignedBlob, pbDecoded, pcbDecoded) + +.. function:: CryptVerifyMessageHash(pHashPara, pbHashedBlob, cbHashedBlob, pbToBeHashed, pcbToBeHashed, pbComputedHash, pcbComputedHash) + +.. function:: PfnCryptGetSignerCertificate(pvGetArg, dwCertEncodingType, pSignerId, hMsgCertStore) + +.. function:: CryptEncrypt(hKey, hHash, Final, dwFlags, pbData, pdwDataLen, dwBufLen) + +.. function:: CryptDecrypt(hKey, hHash, Final, dwFlags, pbData, pdwDataLen) + +.. function:: CryptMsgOpenToEncode(dwMsgEncodingType, dwFlags, dwMsgType, pvMsgEncodeInfo, pszInnerContentObjID, pStreamInfo) + +.. function:: CryptMsgOpenToDecode(dwMsgEncodingType, dwFlags, dwMsgType, hCryptProv, pRecipientInfo, pStreamInfo) + +.. function:: CryptMsgUpdate(hCryptMsg, pbData, cbData, fFinal) + +.. function:: CryptMsgControl(hCryptMsg, dwFlags, dwCtrlType, pvCtrlPara) + +.. function:: CryptMsgClose(hCryptMsg) + +.. function:: CryptEnumOIDFunction(dwEncodingType, pszFuncName, pszOID, dwFlags, pvArg, pfnEnumOIDFunc) + +.. function:: CryptGetOIDFunctionValue(dwEncodingType, pszFuncName, pszOID, pwszValueName, pdwValueType, pbValueData, pcbValueData) + +.. function:: CertCloseStore(hCertStore, dwFlags) + +.. function:: OpenVirtualDisk(VirtualStorageType, Path, VirtualDiskAccessMask, Flags, Parameters, Handle) + +.. function:: AttachVirtualDisk(VirtualDiskHandle, SecurityDescriptor, Flags, ProviderSpecificFlags, Parameters, Overlapped) + +.. function:: CryptProtectData(pDataIn, szDataDescr, pOptionalEntropy, pvReserved, pPromptStruct, dwFlags, pDataOut) + +.. function:: CryptUnprotectData(pDataIn, ppszDataDescr, pOptionalEntropy, pvReserved, pPromptStruct, dwFlags, pDataOut) + +.. function:: CryptProtectMemory(pDataIn, cbDataIn, dwFlags) + +.. function:: CryptUnprotectMemory(pDataIn, cbDataIn, dwFlags) + +.. function:: GetEnvironmentVariableA(lpName, lpBuffer, nSize) + +.. function:: GetEnvironmentVariableW(lpName, lpBuffer, nSize) + +.. function:: SetEnvironmentVariableA(lpName, lpValue) + +.. function:: SetEnvironmentVariableW(lpName, lpValue) + +.. function:: GetEnvironmentStringsA() + +.. function:: GetEnvironmentStringsW() + +.. function:: SetEnvironmentStringsW(NewEnvironment) + +.. function:: FreeEnvironmentStringsA(penv) + +.. function:: FreeEnvironmentStringsW(penv) + +.. function:: EnumerateTraceGuidsEx(TraceQueryInfoClass, InBuffer, InBufferSize, OutBuffer, OutBufferSize, ReturnLength) + +.. function:: QueryAllTracesA(PropertyArray, PropertyArrayCount, SessionCount) + +.. function:: QueryAllTracesW(PropertyArray, PropertyArrayCount, SessionCount) + +.. function:: OpenTraceA(Logfile) + +.. function:: OpenTraceW(Logfile) + +.. function:: StartTraceA(TraceHandle, InstanceName, Properties) + +.. function:: StartTraceW(TraceHandle, InstanceName, Properties) + +.. function:: StopTraceA(TraceHandle, InstanceName, Properties) + +.. function:: StopTraceW(TraceHandle, InstanceName, Properties) + +.. function:: ControlTraceA(TraceHandle, InstanceName, Properties, ControlCode) + +.. function:: ControlTraceW(TraceHandle, InstanceName, Properties, ControlCode) + +.. function:: ProcessTrace(HandleArray, HandleCount, StartTime, EndTime) + +.. function:: EnableTrace(Enable, EnableFlag, EnableLevel, ControlGuid, SessionHandle) + +.. function:: EnableTraceEx(ProviderId, SourceId, TraceHandle, IsEnabled, Level, MatchAnyKeyword, MatchAllKeyword, EnableProperty, EnableFilterDesc) + +.. function:: EnableTraceEx2(TraceHandle, ProviderId, ControlCode, Level, MatchAnyKeyword, MatchAllKeyword, Timeout, EnableParameters) + +.. function:: TraceQueryInformation(SessionHandle, InformationClass, TraceInformation, InformationLength, ReturnLength) + +.. function:: TraceSetInformation(SessionHandle, InformationClass, TraceInformation, InformationLength) + +.. function:: RegisterTraceGuidsW(RequestAddress, RequestContext, ControlGuid, GuidCount, TraceGuidReg, MofImagePath, MofResourceName, RegistrationHandle) + +.. function:: RegisterTraceGuidsA(RequestAddress, RequestContext, ControlGuid, GuidCount, TraceGuidReg, MofImagePath, MofResourceName, RegistrationHandle) + +.. function:: TraceEvent(SessionHandle, EventTrace) + +.. function:: GetTraceLoggerHandle(Buffer) + +.. function:: OpenEventLogA(lpUNCServerName, lpSourceName) + +.. function:: OpenEventLogW(lpUNCServerName, lpSourceName) + +.. function:: OpenBackupEventLogA(lpUNCServerName, lpSourceName) + +.. function:: OpenBackupEventLogW(lpUNCServerName, lpSourceName) + +.. function:: EvtOpenSession(LoginClass, Login, Timeout, Flags) + +.. function:: ReadEventLogA(hEventLog, dwReadFlags, dwRecordOffset, lpBuffer, nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded) + +.. function:: ReadEventLogW(hEventLog, dwReadFlags, dwRecordOffset, lpBuffer, nNumberOfBytesToRead, pnBytesRead, pnMinNumberOfBytesNeeded) + +.. function:: GetEventLogInformation(hEventLog, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded) + +.. function:: GetNumberOfEventLogRecords(hEventLog, NumberOfRecords) + +.. function:: CloseEventLog(hEventLog) + +.. function:: EvtOpenLog(Session, Path, Flags) + +.. function:: EvtQuery(Session, Path, Query, Flags) + +.. function:: EvtNext(ResultSet, EventArraySize, EventArray, Timeout, Flags, Returned) + +.. function:: EvtCreateRenderContext(ValuePathsCount, ValuePaths, Flags) + +.. function:: EvtRender(Context, Fragment, Flags, BufferSize, Buffer, BufferUsed, PropertyCount) + +.. function:: EvtClose(Object) + +.. function:: EvtOpenChannelEnum(Session, Flags) + +.. function:: EvtNextChannelPath(ChannelEnum, ChannelPathBufferSize, ChannelPathBuffer, ChannelPathBufferUsed) + +.. function:: EvtOpenPublisherEnum(Session, Flags) + +.. function:: EvtNextPublisherId(PublisherEnum, PublisherIdBufferSize, PublisherIdBuffer, PublisherIdBufferUsed) + +.. function:: EvtGetLogInfo(Log, PropertyId, PropertyValueBufferSize, PropertyValueBuffer, PropertyValueBufferUsed) + +.. function:: EvtOpenChannelConfig(Session, ChannelPath, Flags) + +.. function:: EvtGetChannelConfigProperty(ChannelConfig, PropertyId, Flags, PropertyValueBufferSize, PropertyValueBuffer, PropertyValueBufferUsed) + +.. function:: EvtOpenPublisherMetadata(Session, PublisherIdentity, LogFilePath, Locale, Flags) + +.. function:: EvtOpenEventMetadataEnum(PublisherMetadata, Flags) + +.. function:: EvtNextEventMetadata(EventMetadataEnum, Flags) + +.. function:: EvtGetEventMetadataProperty(EventMetadata, PropertyId, Flags, EventMetadataPropertyBufferSize, EventMetadataPropertyBuffer, EventMetadataPropertyBufferUsed) + +.. function:: EvtGetPublisherMetadataProperty(PublisherMetadata, PropertyId, Flags, PublisherMetadataPropertyBufferSize, PublisherMetadataPropertyBuffer, PublisherMetadataPropertyBufferUsed) + +.. function:: EvtGetObjectArraySize(ObjectArray, ObjectArraySize) + +.. function:: EvtGetObjectArrayProperty(ObjectArray, PropertyId, ArrayIndex, Flags, PropertyValueBufferSize, PropertyValueBuffer, PropertyValueBufferUsed) + +.. function:: EvtFormatMessage(PublisherMetadata, Event, MessageId, ValueCount, Values, Flags, BufferSize, Buffer, BufferUsed) + +.. function:: EvtSeek(ResultSet, Position, Bookmark, Timeout, Flags) + +.. function:: FindFirstFileA(lpFileName, lpFindFileData) + +.. function:: FindFirstFileW(lpFileName, lpFindFileData) + +.. function:: FindNextFileA(hFindFile, lpFindFileData) + +.. function:: FindNextFileW(hFindFile, lpFindFileData) + +.. function:: FindClose(hFindFile) + +.. function:: FindFirstChangeNotificationA(lpPathName, bWatchSubtree, dwNotifyFilter) + +.. function:: FindFirstChangeNotificationW(lpPathName, bWatchSubtree, dwNotifyFilter) + +.. function:: FindNextChangeNotification(hChangeHandle) + +.. function:: FindCloseChangeNotification(hChangeHandle) + +.. function:: ReadDirectoryChangesW(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine) + +.. function:: ReadDirectoryChangesExW(hDirectory, lpBuffer, nBufferLength, bWatchSubtree, dwNotifyFilter, lpBytesReturned, lpOverlapped, lpCompletionRoutine, ReadDirectoryNotifyInformationClass) + +.. function:: LockFile(hFile, dwFileOffsetLow, dwFileOffsetHigh, nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh) + +.. function:: LockFileEx(hFile, dwFlags, dwReserved, nNumberOfBytesToLockLow, nNumberOfBytesToLockHigh, lpOverlapped) + +.. function:: HeapAlloc(hHeap, dwFlags, dwBytes) + +.. function:: InternetCheckConnectionA(lpszUrl, dwFlags, dwReserved) + +.. function:: InternetCheckConnectionW(lpszUrl, dwFlags, dwReserved) + +.. function:: InternetOpenA(lpszAgent, dwAccessType, lpszProxy, lpszProxyBypass, dwFlags) + +.. function:: InternetOpenW(lpszAgent, dwAccessType, lpszProxy, lpszProxyBypass, dwFlags) + +.. function:: InternetOpenUrlA(hInternet, lpszUrl, lpszHeaders, dwHeadersLength, dwFlags, dwContext) + +.. function:: InternetOpenUrlW(hInternet, lpszUrl, lpszHeaders, dwHeadersLength, dwFlags, dwContext) + +.. function:: InternetConnectA(hInternet, lpszServerName, nServerPort, lpszUserName, lpszPassword, dwService, dwFlags, dwContext) + +.. function:: InternetConnectW(hInternet, lpszServerName, nServerPort, lpszUserName, lpszPassword, dwService, dwFlags, dwContext) + +.. function:: HttpOpenRequestA(hConnect, lpszVerb, lpszObjectName, lpszVersion, lpszReferrer, lplpszAcceptTypes, dwFlags, dwContext) + +.. function:: HttpOpenRequestW(hConnect, lpszVerb, lpszObjectName, lpszVersion, lpszReferrer, lplpszAcceptTypes, dwFlags, dwContext) + +.. function:: InternetSetOptionA(hInternet, dwOption, lpBuffer, dwBufferLength) + +.. function:: InternetSetOptionW(hInternet, dwOption, lpBuffer, dwBufferLength) + +.. function:: InternetReadFile(hFile, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead) + +.. function:: InternetReadFileExA(hFile, lpBuffersOut, dwFlags, dwContext) + +.. function:: InternetReadFileExW(hFile, lpBuffersOut, dwFlags, dwContext) + +.. function:: HttpQueryInfoA(hRequest, dwInfoLevel, lpBuffer, lpdwBufferLength, lpdwIndex) + +.. function:: HttpQueryInfoW(hRequest, dwInfoLevel, lpBuffer, lpdwBufferLength, lpdwIndex) + +.. function:: HttpSendRequestA(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength) + +.. function:: HttpSendRequestW(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength) + +.. function:: WinHttpOpen(pszAgentW, dwAccessType, pszProxyW, pszProxyBypassW, dwFlags) + +.. function:: WinHttpCloseHandle(hInternet) + +.. function:: WinHttpConnect(hSession, pswzServerName, nServerPort, dwReserved) + +.. function:: WinHttpQueryDataAvailable(hRequest, lpdwNumberOfBytesAvailable) + +.. function:: WinHttpReadData(hRequest, lpBuffer, dwNumberOfBytesToRead, lpdwNumberOfBytesRead) + +.. function:: WinHttpOpenRequest(hConnect, pwszVerb, pwszObjectName, pwszVersion, pwszReferrer, ppwszAcceptTypes, dwFlags) + +.. function:: WinHttpSendRequest(hRequest, lpszHeaders, dwHeadersLength, lpOptional, dwOptionalLength, dwTotalLength, dwContext) + +.. function:: WinHttpReceiveResponse(hRequest, lpReserved) + +.. function:: WinHttpAddRequestHeaders(hRequest, lpszHeaders, dwHeadersLength, dwModifiers) + +.. function:: WinHttpQueryHeaders(hRequest, dwInfoLevel, pwszName, lpBuffer, lpdwBufferLength, lpdwIndex) + +.. function:: GetOverlappedResult(hFile, lpOverlapped, lpNumberOfBytesTransferred, bWait) + +.. function:: CreateIoCompletionPort(FileHandle, ExistingCompletionPort, CompletionKey, NumberOfConcurrentThreads) + +.. function:: GetQueuedCompletionStatus(CompletionPort, lpNumberOfBytesTransferred, lpCompletionKey, lpOverlapped, dwMilliseconds) + +.. function:: GetQueuedCompletionStatusEx(CompletionPort, lpCompletionPortEntries, ulCount, ulNumEntriesRemoved, dwMilliseconds, fAlertable) + +.. function:: PostQueuedCompletionStatus(CompletionPort, dwNumberOfBytesTransferred, dwCompletionKey, lpOverlapped) + +.. function:: CancelIo(hFile) + +.. function:: CancelIoEx(hFile, lpOverlapped) + +.. function:: CancelSynchronousIo(hThread) + +.. function:: LsaOpenPolicy(SystemName, ObjectAttributes, DesiredAccess, PolicyHandle) + +.. function:: LsaQueryInformationPolicy(PolicyHandle, InformationClass, Buffer) + +.. function:: LsaClose(ObjectHandle) + +.. function:: LsaNtStatusToWinError(Status) + +.. function:: LsaLookupNames(PolicyHandle, Count, Names, ReferencedDomains, Sids) + +.. function:: LsaLookupNames2(PolicyHandle, Flags, Count, Names, ReferencedDomains, Sids) + +.. function:: LsaLookupSids(PolicyHandle, Count, Sids, ReferencedDomains, Names) + +.. function:: LsaLookupSids2(PolicyHandle, LookupOptions, Count, Sids, ReferencedDomains, Names) + +.. function:: OpenFileMappingW(dwDesiredAccess, bInheritHandle, lpName) + +.. function:: OpenFileMappingA(dwDesiredAccess, bInheritHandle, lpName) + +.. function:: UnmapViewOfFile(lpBaseAddress) + +.. function:: NetQueryDisplayInformation(ServerName, Level, Index, EntriesRequested, PreferredMaximumLength, ReturnedEntryCount, SortedBuffer) + +.. function:: NetUserEnum(servername, level, filter, bufptr, prefmaxlen, entriesread, totalentries, resume_handle) + +.. function:: NetGroupEnum(servername, level, bufptr, prefmaxlen, entriesread, totalentries, resume_handle) + +.. function:: NetGroupGetInfo(servername, groupname, level, bufptr) + +.. function:: NetGroupGetUsers(servername, groupname, level, bufptr, prefmaxlen, entriesread, totalentries, ResumeHandle) + +.. function:: NetLocalGroupEnum(servername, level, bufptr, prefmaxlen, entriesread, totalentries, resumehandle) + +.. function:: NetLocalGroupGetMembers(servername, localgroupname, level, bufptr, prefmaxlen, entriesread, totalentries, resumehandle) + +.. function:: NetLocalGroupGetInfo(servername, groupname, level, bufptr) + +.. function:: NetApiBufferFree(Buffer) + +.. function:: GetIpNetTable(IpNetTable, SizePointer, Order) + +.. function:: GetExtendedTcpTable(pTcpTable, pdwSize, bOrder, ulAf, TableClass, Reserved) + +.. function:: GetExtendedUdpTable(pUdpTable, pdwSize, bOrder, ulAf, TableClass, Reserved) + +.. function:: SetTcpEntry(pTcpRow) + +.. function:: DnsGetCacheDataTable(DnsEntries) + +.. function:: DnsFree(pData, FreeType) + +.. function:: DnsQuery_A(pszName, wType, Options, pExtra, ppQueryResults, pReserved) + +.. function:: DnsQuery_W(pszName, wType, Options, pExtra, ppQueryResults, pReserved) + +.. function:: DnsQueryEx(pQueryRequest, pQueryResults, pCancelHandle) + +.. function:: GetAdaptersInfo(AdapterInfo, SizePointer) + +.. function:: GetPerAdapterInfo(IfIndex, pPerAdapterInfo, pOutBufLen) + +.. function:: CreateFileTransactedA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile, hTransaction, pusMiniVersion, pExtendedParameter) + +.. function:: CreateFileTransactedW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile, hTransaction, pusMiniVersion, pExtendedParameter) + +.. function:: CommitTransaction(TransactionHandle) + +.. function:: CreateTransaction(lpTransactionAttributes, UOW, CreateOptions, IsolationLevel, IsolationFlags, Timeout, Description) + +.. function:: RollbackTransaction(TransactionHandle) + +.. function:: OpenTransaction(dwDesiredAccess, TransactionId) + +.. function:: NtOpenKey(KeyHandle, DesiredAccess, ObjectAttributes) + +.. function:: NtCreateKey(pKeyHandle, DesiredAccess, ObjectAttributes, TitleIndex, Class, CreateOptions, Disposition) + +.. function:: NtSetValueKey(KeyHandle, ValueName, TitleIndex, Type, Data, DataSize) + +.. function:: NtQueryValueKey(KeyHandle, ValueName, KeyValueInformationClass, KeyValueInformation, Length, ResultLength) + +.. function:: NtQueryKey(KeyHandle, KeyInformationClass, KeyInformation, Length, ResultLength) + +.. function:: NtEnumerateValueKey(KeyHandle, Index, KeyValueInformationClass, KeyValueInformation, Length, ResultLength) + +.. function:: NtDeleteValueKey(KeyHandle, ValueName) + +.. function:: CreatePipe(hReadPipe, hWritePipe, lpPipeAttributes, nSize) + +.. function:: CreateNamedPipeA(lpName, dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut, lpSecurityAttributes) + +.. function:: CreateNamedPipeW(lpName, dwOpenMode, dwPipeMode, nMaxInstances, nOutBufferSize, nInBufferSize, nDefaultTimeOut, lpSecurityAttributes) + +.. function:: ConnectNamedPipe(hNamedPipe, lpOverlapped) + +.. function:: SetNamedPipeHandleState(hNamedPipe, lpMode, lpMaxCollectionCount, lpCollectDataTimeout) + +.. function:: PeekNamedPipe(hNamedPipe, lpBuffer, nBufferSize, lpBytesRead, lpTotalBytesAvail, lpBytesLeftThisMessage) + +.. function:: CreateToolhelp32Snapshot(dwFlags, th32ProcessID) + +.. function:: Thread32First(hSnapshot, lpte) + +.. function:: Thread32Next(hSnapshot, lpte) + +.. function:: Process32First(hSnapshot, lppe) + +.. function:: Process32Next(hSnapshot, lppe) + +.. function:: Process32FirstW(hSnapshot, lppe) + +.. function:: Process32NextW(hSnapshot, lppe) + +.. function:: GetProcAddress(hModule, lpProcName) + +.. function:: LoadLibraryA(lpFileName) + +.. function:: LoadLibraryW(lpFileName) + +.. function:: LoadLibraryExA(lpLibFileName, hFile, dwFlags) + +.. function:: LoadLibraryExW(lpLibFileName, hFile, dwFlags) + +.. function:: FreeLibrary(hLibModule) + +.. function:: RegQueryValueExA(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData) + +.. function:: RegQueryValueExW(hKey, lpValueName, lpReserved, lpType, lpData, lpcbData) + +.. function:: RegOpenKeyExA(hKey, lpSubKey, ulOptions, samDesired, phkResult) + +.. function:: RegOpenKeyExW(hKey, lpSubKey, ulOptions, samDesired, phkResult) + +.. function:: RegCreateKeyExA(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition) + +.. function:: RegCreateKeyExW(hKey, lpSubKey, Reserved, lpClass, dwOptions, samDesired, lpSecurityAttributes, phkResult, lpdwDisposition) + +.. function:: RegGetValueA(hkey, lpSubKey, lpValue, dwFlags, pdwType, pvData, pcbData) + +.. function:: RegGetValueW(hkey, lpSubKey, lpValue, dwFlags, pdwType, pvData, pcbData) + +.. function:: RegCloseKey(hKey) + +.. function:: RegSetValueExW(hKey, lpValueName, Reserved, dwType, lpData, cbData) + +.. function:: RegSetValueExA(hKey, lpValueName, Reserved, dwType, lpData, cbData) + +.. function:: RegSetKeyValueA(hKey, lpSubKey, lpValueName, dwType, lpData, cbData) + +.. function:: RegSetKeyValueW(hKey, lpSubKey, lpValueName, dwType, lpData, cbData) + +.. function:: RegEnumKeyExA(hKey, dwIndex, lpName, lpcchName, lpReserved, lpClass, lpcchClass, lpftLastWriteTime) + +.. function:: RegEnumKeyExW(hKey, dwIndex, lpName, lpcchName, lpReserved, lpClass, lpcchClass, lpftLastWriteTime) + +.. function:: RegGetKeySecurity(hKey, SecurityInformation, pSecurityDescriptor, lpcbSecurityDescriptor) + +.. function:: RegQueryInfoKeyA(hKey, lpClass, lpcchClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime) + +.. function:: RegQueryInfoKeyW(hKey, lpClass, lpcchClass, lpReserved, lpcSubKeys, lpcbMaxSubKeyLen, lpcbMaxClassLen, lpcValues, lpcbMaxValueNameLen, lpcbMaxValueLen, lpcbSecurityDescriptor, lpftLastWriteTime) + +.. function:: RegDeleteKeyValueW(hKey, lpSubKey, lpValueName) + +.. function:: RegDeleteKeyValueA(hKey, lpSubKey, lpValueName) + +.. function:: RegDeleteKeyExA(hKey, lpSubKey, samDesired, Reserved) + +.. function:: RegDeleteKeyExW(hKey, lpSubKey, samDesired, Reserved) + +.. function:: RegDeleteValueA(hKey, lpValueName) + +.. function:: RegDeleteValueW(hKey, lpValueName) + +.. function:: RegEnumValueA(hKey, dwIndex, lpValueName, lpcchValueName, lpReserved, lpType, lpData, lpcbData) + +.. function:: RegEnumValueW(hKey, dwIndex, lpValueName, lpcchValueName, lpReserved, lpType, lpData, lpcbData) + +.. function:: RegDeleteTreeA(hKey, lpSubKey) + +.. function:: RegDeleteTreeW(hKey, lpSubKey) + +.. function:: RegSaveKeyA(hKey, lpFile, lpSecurityAttributes) + +.. function:: RegSaveKeyW(hKey, lpFile, lpSecurityAttributes) + +.. function:: RegSaveKeyExA(hKey, lpFile, lpSecurityAttributes, Flags) + +.. function:: RegSaveKeyExW(hKey, lpFile, lpSecurityAttributes, Flags) + +.. function:: RegLoadKeyA(hKey, lpSubKey, lpFile) + +.. function:: RegLoadKeyW(hKey, lpSubKey, lpFile) + +.. function:: RegUnLoadKeyA(hKey, lpSubKey) + +.. function:: RegUnLoadKeyW(hKey, lpSubKey) + +.. function:: IsValidSecurityDescriptor(pSecurityDescriptor) + +.. function:: ConvertStringSecurityDescriptorToSecurityDescriptorA(StringSecurityDescriptor, StringSDRevision, SecurityDescriptor, SecurityDescriptorSize) + +.. function:: ConvertStringSecurityDescriptorToSecurityDescriptorW(StringSecurityDescriptor, StringSDRevision, SecurityDescriptor, SecurityDescriptorSize) + +.. function:: ConvertSecurityDescriptorToStringSecurityDescriptorA(SecurityDescriptor, RequestedStringSDRevision, SecurityInformation, StringSecurityDescriptor, StringSecurityDescriptorLen) + +.. function:: ConvertSecurityDescriptorToStringSecurityDescriptorW(SecurityDescriptor, RequestedStringSDRevision, SecurityInformation, StringSecurityDescriptor, StringSecurityDescriptorLen) + +.. function:: GetSecurityDescriptorControl(pSecurityDescriptor, pControl, lpdwRevision) + +.. function:: GetSecurityDescriptorDacl(pSecurityDescriptor, lpbDaclPresent, pDacl, lpbDaclDefaulted) + +.. function:: GetSecurityDescriptorGroup(pSecurityDescriptor, pGroup, lpbGroupDefaulted) + +.. function:: GetSecurityDescriptorLength(pSecurityDescriptor) + +.. function:: GetSecurityDescriptorOwner(pSecurityDescriptor, pOwner, lpbOwnerDefaulted) + +.. function:: SetSecurityDescriptorOwner(pSecurityDescriptor, pOwner, bOwnerDefaulted) + +.. function:: GetSecurityDescriptorRMControl(SecurityDescriptor, RMControl) + +.. function:: GetSecurityDescriptorSacl(pSecurityDescriptor, lpbSaclPresent, pSacl, lpbSaclDefaulted) + +.. function:: GetLengthSid(pSid) + +.. function:: EqualSid(pSid1, pSid2) + +.. function:: CopySid(nDestinationSidLength, pDestinationSid, pSourceSid) + +.. function:: GetSidIdentifierAuthority(pSid) + +.. function:: GetSidLengthRequired(nSubAuthorityCount) + +.. function:: GetSidSubAuthority(pSid, nSubAuthority) + +.. function:: GetSidSubAuthorityCount(pSid) + +.. function:: FreeSid(pSid) + +.. function:: GetAce(pAcl, dwAceIndex, pAce) + +.. function:: GetAclInformation(pAcl, pAclInformation, nAclInformationLength, dwAclInformationClass) + +.. function:: MapGenericMask(AccessMask, GenericMapping) + +.. function:: AccessCheck(pSecurityDescriptor, ClientToken, DesiredAccess, GenericMapping, PrivilegeSet, PrivilegeSetLength, GrantedAccess, AccessStatus) + +.. function:: GetNamedSecurityInfoA(pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor) + +.. function:: GetNamedSecurityInfoW(pObjectName, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor) + +.. function:: GetSecurityInfo(handle, ObjectType, SecurityInfo, ppsidOwner, ppsidGroup, ppDacl, ppSacl, ppSecurityDescriptor) + +.. function:: SetSecurityInfo(handle, ObjectType, SecurityInfo, psidOwner, psidGroup, pDacl, pSacl) + +.. function:: SetNamedSecurityInfoA(pObjectName, ObjectType, SecurityInfo, psidOwner, psidGroup, pDacl, pSacl) + +.. function:: SetNamedSecurityInfoW(pObjectName, ObjectType, SecurityInfo, psidOwner, psidGroup, pDacl, pSacl) + +.. function:: GetStringConditionFromBinary(BinaryAceCondition, BinaryAceConditionSize, Reserved1, StringAceCondition) + +.. function:: AddAccessAllowedAce(pAcl, dwAceRevision, AccessMask, pSid) + +.. function:: SetSecurityDescriptorDacl(pSecurityDescriptor, bDaclPresent, pDacl, bDaclDefaulted) + +.. function:: InitializeAcl(pAcl, nAclLength, dwAclRevision) + +.. function:: InitializeSecurityDescriptor(pSecurityDescriptor, dwRevision) + +.. function:: SetAclInformation(pAcl, pAclInformation, nAclInformationLength, dwAclInformationClass) + +.. function:: AddAccessAllowedAceEx(pAcl, dwAceRevision, AceFlags, AccessMask, pSid) + +.. function:: AddAccessDeniedAce(pAcl, dwAceRevision, AccessMask, pSid) + +.. function:: AddAccessDeniedAceEx(pAcl, dwAceRevision, AceFlags, AccessMask, pSid) + +.. function:: BuildSecurityDescriptorW(pOwner, pGroup, cCountOfAccessEntries, pListOfAccessEntries, cCountOfAuditEntries, pListOfAuditEntries, pOldSD, pSizeNewSD, pNewSD) + +.. function:: MakeAbsoluteSD(pSelfRelativeSecurityDescriptor, pAbsoluteSecurityDescriptor, lpdwAbsoluteSecurityDescriptorSize, pDacl, lpdwDaclSize, pSacl, lpdwSaclSize, pOwner, lpdwOwnerSize, pPrimaryGroup, lpdwPrimaryGroupSize) + +.. function:: MakeSelfRelativeSD(pAbsoluteSecurityDescriptor, pSelfRelativeSecurityDescriptor, lpdwBufferLength) + +.. function:: OpenSCManagerA(lpMachineName, lpDatabaseName, dwDesiredAccess) + +.. function:: OpenSCManagerW(lpMachineName, lpDatabaseName, dwDesiredAccess) + +.. function:: CloseServiceHandle(hSCObject) + +.. function:: EnumServicesStatusExA(hSCManager, InfoLevel, dwServiceType, dwServiceState, lpServices, cbBufSize, pcbBytesNeeded, lpServicesReturned, lpResumeHandle, pszGroupName) + +.. function:: EnumServicesStatusExW(hSCManager, InfoLevel, dwServiceType, dwServiceState, lpServices, cbBufSize, pcbBytesNeeded, lpServicesReturned, lpResumeHandle, pszGroupName) + +.. function:: StartServiceA(hService, dwNumServiceArgs, lpServiceArgVectors) + +.. function:: StartServiceW(hService, dwNumServiceArgs, lpServiceArgVectors) + +.. function:: OpenServiceA(hSCManager, lpServiceName, dwDesiredAccess) + +.. function:: OpenServiceW(hSCManager, lpServiceName, dwDesiredAccess) + +.. function:: QueryServiceStatus(hService, lpServiceStatus) + +.. function:: QueryServiceStatusEx(hService, InfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded) + +.. function:: ChangeServiceConfig2A(hService, dwInfoLevel, lpInfo) + +.. function:: ChangeServiceConfig2W(hService, dwInfoLevel, lpInfo) + +.. function:: ChangeServiceConfigA(hService, dwServiceType, dwStartType, dwErrorControl, lpBinaryPathName, lpLoadOrderGroup, lpdwTagId, lpDependencies, lpServiceStartName, lpPassword, lpDisplayName) + +.. function:: ChangeServiceConfigW(hService, dwServiceType, dwStartType, dwErrorControl, lpBinaryPathName, lpLoadOrderGroup, lpdwTagId, lpDependencies, lpServiceStartName, lpPassword, lpDisplayName) + +.. function:: QueryServiceConfig2A(hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded) + +.. function:: QueryServiceConfig2W(hService, dwInfoLevel, lpBuffer, cbBufSize, pcbBytesNeeded) + +.. function:: QueryServiceConfigA(hService, lpServiceConfig, cbBufSize, pcbBytesNeeded) + +.. function:: QueryServiceConfigW(hService, lpServiceConfig, cbBufSize, pcbBytesNeeded) + +.. function:: QueryServiceDynamicInformation(hServiceStatus, dwInfoLevel, ppDynamicInfo) + +.. function:: GetServiceDisplayNameA(hSCManager, lpServiceName, lpDisplayName, lpcchBuffer) + +.. function:: GetServiceDisplayNameW(hSCManager, lpServiceName, lpDisplayName, lpcchBuffer) + +.. function:: GetServiceKeyNameA(hSCManager, lpDisplayName, lpServiceName, lpcchBuffer) + +.. function:: GetServiceKeyNameW(hSCManager, lpDisplayName, lpServiceName, lpcchBuffer) + +.. function:: EnumDependentServicesA(hService, dwServiceState, lpServices, cbBufSize, pcbBytesNeeded, lpServicesReturned) + +.. function:: EnumDependentServicesW(hService, dwServiceState, lpServices, cbBufSize, pcbBytesNeeded, lpServicesReturned) + +.. function:: ControlService(hService, dwControl, lpServiceStatus) + +.. function:: ControlServiceExA(hService, dwControl, dwInfoLevel, pControlParams) + +.. function:: ControlServiceExW(hService, dwControl, dwInfoLevel, pControlParams) + +.. function:: CreateServiceA(hSCManager, lpServiceName, lpDisplayName, dwDesiredAccess, dwServiceType, dwStartType, dwErrorControl, lpBinaryPathName, lpLoadOrderGroup, lpdwTagId, lpDependencies, lpServiceStartName, lpPassword) + +.. function:: CreateServiceW(hSCManager, lpServiceName, lpDisplayName, dwDesiredAccess, dwServiceType, dwStartType, dwErrorControl, lpBinaryPathName, lpLoadOrderGroup, lpdwTagId, lpDependencies, lpServiceStartName, lpPassword) + +.. function:: DeleteService(hService) + +.. function:: StartServiceCtrlDispatcherA(lpServiceStartTable) + +.. function:: StartServiceCtrlDispatcherW(lpServiceStartTable) + +.. function:: SetupDiClassNameFromGuidA(ClassGuid, ClassName, ClassNameSize, RequiredSize) + +.. function:: SetupDiClassNameFromGuidW(ClassGuid, ClassName, ClassNameSize, RequiredSize) + +.. function:: SetupDiClassNameFromGuidExA(ClassGuid, ClassName, ClassNameSize, RequiredSize, MachineName, Reserved) + +.. function:: SetupDiClassNameFromGuidExW(ClassGuid, ClassName, ClassNameSize, RequiredSize, MachineName, Reserved) + +.. function:: SetupDiGetClassDevsA(ClassGuid, Enumerator, hwndParent, Flags) + +.. function:: SetupDiGetClassDevsW(ClassGuid, Enumerator, hwndParent, Flags) + +.. function:: SetupDiDeleteDeviceInfo(DeviceInfoSet, DeviceInfoData) + +.. function:: SetupDiEnumDeviceInfo(DeviceInfoSet, MemberIndex, DeviceInfoData) + +.. function:: SetupDiDestroyDeviceInfoList(DeviceInfoSet) + +.. function:: SetupDiEnumDeviceInterfaces(DeviceInfoSet, DeviceInfoData, InterfaceClassGuid, MemberIndex, DeviceInterfaceData) + +.. function:: SetupDiGetDeviceRegistryPropertyA(DeviceInfoSet, DeviceInfoData, Property, PropertyRegDataType, PropertyBuffer, PropertyBufferSize, RequiredSize) + +.. function:: SetupDiGetDeviceRegistryPropertyW(DeviceInfoSet, DeviceInfoData, Property, PropertyRegDataType, PropertyBuffer, PropertyBufferSize, RequiredSize) + +.. function:: ShellExecuteA(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd) + +.. function:: ShellExecuteW(hwnd, lpOperation, lpFile, lpParameters, lpDirectory, nShowCmd) + +.. function:: SHGetPathFromIDListA(pidl, pszPath) + +.. function:: SHGetPathFromIDListW(pidl, pszPath) + +.. function:: SHFileOperationA(lpFileOp) + +.. function:: StrStrIW(pszFirst, pszSrch) + +.. function:: StrStrIA(pszFirst, pszSrch) + +.. function:: IsOS(dwOS) + +.. function:: SymLoadModuleExA(hProcess, hFile, ImageName, ModuleName, BaseOfDll, DllSize, Data, Flags) + +.. function:: SymLoadModuleExW(hProcess, hFile, ImageName, ModuleName, BaseOfDll, DllSize, Data, Flags) + +.. function:: SymFromAddr(hProcess, Address, Displacement, Symbol) + +.. function:: SymFromAddrW(hProcess, Address, Displacement, Symbol) + +.. function:: SymGetModuleInfo64(hProcess, dwAddr, ModuleInfo) + +.. function:: SymGetModuleInfoW64(hProcess, qwAddr, ModuleInfo) + +.. function:: SymInitialize(hProcess, UserSearchPath, fInvadeProcess) + +.. function:: SymInitializeW(hProcess, UserSearchPath, fInvadeProcess) + +.. function:: SymFromName(hProcess, Name, Symbol) + +.. function:: SymFromNameW(hProcess, Name, Symbol) + +.. function:: SymLoadModuleEx(hProcess, hFile, ImageName, ModuleName, BaseOfDll, DllSize, Data, Flags) + +.. function:: SymSetOptions(SymOptions) + +.. function:: SymGetOptions() + +.. function:: SymEnumSymbols(hProcess, BaseOfDll, Mask, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumSymbolsEx(hProcess, BaseOfDll, Mask, EnumSymbolsCallback, UserContext, Options) + +.. function:: SymEnumTypes(hProcess, BaseOfDll, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumTypesByName(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumTypesByNameW(hProcess, BaseOfDll, mask, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumerateModules64(hProcess, EnumModulesCallback, UserContext) + +.. function:: SymEnumerateModulesW64(hProcess, EnumModulesCallback, UserContext) + +.. function:: SymNext(hProcess, si) + +.. function:: SymNextW(hProcess, siw) + +.. function:: SymPrev(hProcess, si) + +.. function:: SymPrevW(hProcess, siw) + +.. function:: SymSetContext(hProcess, StackFrame, Context) + +.. function:: SymSetExtendedOption(option, value) + +.. function:: SymSrvGetFileIndexes(File, Id, Val1, Val2, Flags) + +.. function:: SymSrvGetFileIndexesW(File, Id, Val1, Val2, Flags) + +.. function:: SymSrvGetFileIndexInfo(File, Info, Flags) + +.. function:: SymSrvGetFileIndexInfoW(File, Info, Flags) + +.. function:: SymSrvGetFileIndexString(hProcess, SrvPath, File, Index, Size, Flags) + +.. function:: SymSrvGetFileIndexStringW(hProcess, SrvPath, File, Index, Size, Flags) + +.. function:: SymUnDName(sym, UnDecName, UnDecNameLength) + +.. function:: SymUnDName64(sym, UnDecName, UnDecNameLength) + +.. function:: SymUnloadModule(hProcess, BaseOfDll) + +.. function:: SymUnloadModule64(hProcess, BaseOfDll) + +.. function:: UnDecorateSymbolName(name, outputString, maxStringLength, flags) + +.. function:: UnDecorateSymbolNameW(name, outputString, maxStringLength, flags) + +.. function:: SymCleanup(hProcess) + +.. function:: SymEnumProcesses(EnumProcessesCallback, UserContext) + +.. function:: SymEnumSymbolsForAddr(hProcess, Address, EnumSymbolsCallback, UserContext) + +.. function:: SymEnumSymbolsForAddrW(hProcess, Address, EnumSymbolsCallback, UserContext) + +.. function:: SymGetTypeFromName(hProcess, BaseOfDll, Name, Symbol) + +.. function:: SymGetTypeFromNameW(hProcess, BaseOfDll, Name, Symbol) + +.. function:: SymGetTypeInfo(hProcess, ModBase, TypeId, GetType, pInfo) + +.. function:: SymSearch(hProcess, BaseOfDll, Index, SymTag, Mask, Address, EnumSymbolsCallback, UserContext, Options) + +.. function:: SymSearchW(hProcess, BaseOfDll, Index, SymTag, Mask, Address, EnumSymbolsCallback, UserContext, Options) + +.. function:: SymFunctionTableAccess(hProcess, AddrBase) + +.. function:: SymFunctionTableAccess64(hProcess, AddrBase) + +.. function:: SymGetModuleBase(hProcess, dwAddr) + +.. function:: SymGetModuleBase64(hProcess, qwAddr) + +.. function:: SymRefreshModuleList(hProcess) + +.. function:: SymRegisterCallback(hProcess, CallbackFunction, UserContext) + +.. function:: SymRegisterCallback64(hProcess, CallbackFunction, UserContext) + +.. function:: SymRegisterCallbackW64(hProcess, CallbackFunction, UserContext) + +.. function:: StackWalk64(MachineType, hProcess, hThread, StackFrame, ContextRecord, ReadMemoryRoutine, FunctionTableAccessRoutine, GetModuleBaseRoutine, TranslateAddress) + +.. function:: StackWalkEx(MachineType, hProcess, hThread, StackFrame, ContextRecord, ReadMemoryRoutine, FunctionTableAccessRoutine, GetModuleBaseRoutine, TranslateAddress, Flags) + +.. function:: StackWalk(MachineType, hProcess, hThread, StackFrame, ContextRecord, ReadMemoryRoutine, FunctionTableAccessRoutine, GetModuleBaseRoutine, TranslateAddress) + +.. function:: SymGetSearchPath(hProcess, SearchPath, SearchPathLength) + +.. function:: SymGetSearchPathW(hProcess, SearchPath, SearchPathLength) + +.. function:: SymSetSearchPath(hProcess, SearchPath) + +.. function:: SymSetSearchPathW(hProcess, SearchPath) + +.. function:: CreateEventA(lpEventAttributes, bManualReset, bInitialState, lpName) + +.. function:: CreateEventW(lpEventAttributes, bManualReset, bInitialState, lpName) + +.. function:: CreateEventExA(lpEventAttributes, lpName, dwFlags, dwDesiredAccess) + +.. function:: CreateEventExW(lpEventAttributes, lpName, dwFlags, dwDesiredAccess) + +.. function:: OpenEventA(dwDesiredAccess, bInheritHandle, lpName) + +.. function:: OpenEventW(dwDesiredAccess, bInheritHandle, lpName) + +.. function:: NtQueryLicenseValue(Name, Type, Buffer, Length, DataLength) + +.. function:: NtQueryEaFile(FileHandle, IoStatusBlock, Buffer, Length, ReturnSingleEntry, EaList, EaListLength, EaIndex, RestartScan) + +.. function:: NtSetEaFile(FileHandle, IoStatusBlock, Buffer, Length) + +.. function:: NtCreateProcessEx(ProcessHandle, DesiredAccess, ObjectAttributes, ParentProcess, Flags, SectionHandle, DebugPort, ExceptionPort, InJob) + +.. function:: NtCreateNamedPipeFile(NamedPipeFileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock, ShareAccess, CreateDisposition, CreateOptions, WriteModeMessage, ReadModeMessage, NonBlocking, MaxInstances, InBufferSize, OutBufferSize, DefaultTimeOut) + +.. function:: NtCreateFile(FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock, AllocationSize, FileAttributes, ShareAccess, CreateDisposition, CreateOptions, EaBuffer, EaLength) + +.. function:: NtOpenFile(FileHandle, DesiredAccess, ObjectAttributes, IoStatusBlock, ShareAccess, OpenOptions) + +.. function:: NtCreateSymbolicLinkObject(pHandle, DesiredAccess, ObjectAttributes, DestinationName) + +.. function:: NtSetInformationProcess(ProcessHandle, ProcessInformationClass, ProcessInformation, ProcessInformationLength) + +.. function:: NtQueryVirtualMemory(ProcessHandle, BaseAddress, MemoryInformationClass, MemoryInformation, MemoryInformationLength, ReturnLength) + +.. function:: NtQueryVolumeInformationFile(FileHandle, IoStatusBlock, FsInformation, Length, FsInformationClass) + +.. function:: NtCreateThreadEx(ThreadHandle, DesiredAccess, ObjectAttributes, ProcessHandle, lpStartAddress, lpParameter, CreateSuspended, dwStackSize, Unknown1, Unknown2, Unknown3) + +.. function:: NtGetContextThread(hThread, lpContext) + +.. function:: NtSetContextThread(hThread, lpContext) + +.. function:: NtQueryInformationThread(ThreadHandle, ThreadInformationClass, ThreadInformation, ThreadInformationLength, ReturnLength) + +.. function:: NtAllocateVirtualMemory(ProcessHandle, BaseAddress, ZeroBits, RegionSize, AllocationType, Protect) + +.. function:: NtProtectVirtualMemory(ProcessHandle, BaseAddress, NumberOfBytesToProtect, NewAccessProtection, OldAccessProtection) + +.. function:: NtQuerySystemInformation(SystemInformationClass, SystemInformation, SystemInformationLength, ReturnLength) + +.. function:: NtQuerySystemInformationEx(SystemInformationClass, InputBuffer, InputBufferLength, SystemInformation, SystemInformationLength, ReturnLength) + +.. function:: NtQueryInformationProcess(ProcessHandle, ProcessInformationClass, ProcessInformation, ProcessInformationLength, ReturnLength) + +.. function:: NtReadVirtualMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead) + +.. function:: NtWriteVirtualMemory(ProcessHandle, BaseAddress, Buffer, NumberOfBytesToWrite, NumberOfBytesWritten) + +.. function:: NtOpenEvent(EventHandle, DesiredAccess, ObjectAttributes) + +.. function:: NtQueryObject(Handle, ObjectInformationClass, ObjectInformation, ObjectInformationLength, ReturnLength) + +.. function:: NtOpenDirectoryObject(DirectoryHandle, DesiredAccess, ObjectAttributes) + +.. function:: NtQueryDirectoryObject(DirectoryHandle, Buffer, Length, ReturnSingleEntry, RestartScan, Context, ReturnLength) + +.. function:: NtQuerySymbolicLinkObject(LinkHandle, LinkTarget, ReturnedLength) + +.. function:: NtOpenSymbolicLinkObject(LinkHandle, DesiredAccess, ObjectAttributes) + +.. function:: NtQueryInformationFile(FileHandle, IoStatusBlock, FileInformation, Length, FileInformationClass) + +.. function:: NtQueryDirectoryFile(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, FileInformation, Length, FileInformationClass, ReturnSingleEntry, FileName, RestartScan) + +.. function:: NtSetInformationFile(FileHandle, IoStatusBlock, FileInformation, Length, FileInformationClass) + +.. function:: NtEnumerateSystemEnvironmentValuesEx(InformationClass, Buffer, BufferLength) + +.. function:: NtFreeVirtualMemory(ProcessHandle, BaseAddress, RegionSize, FreeType) + +.. function:: NtCreateSection(SectionHandle, DesiredAccess, ObjectAttributes, MaximumSize, SectionPageProtection, AllocationAttributes, FileHandle) + +.. function:: NtOpenSection(SectionHandle, DesiredAccess, ObjectAttributes) + +.. function:: NtMapViewOfSection(SectionHandle, ProcessHandle, BaseAddress, ZeroBits, CommitSize, SectionOffset, ViewSize, InheritDisposition, AllocationType, Win32Protect) + +.. function:: NtUnmapViewOfSection(ProcessHandle, BaseAddress) + +.. function:: NtOpenProcess(ProcessHandle, DesiredAccess, ObjectAttributes, ClientId) + +.. function:: NtDelayExecution(Alertable, DelayInterval) + +.. function:: NtTerminateProcess(ProcessHandle, ExitStatus) + +.. function:: NtReadFile(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key) + +.. function:: NtWriteFile(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key) + +.. function:: GetComputerNameExA(NameType, lpBuffer, nSize) + +.. function:: GetComputerNameExW(NameType, lpBuffer, nSize) + +.. function:: GetComputerNameA(lpBuffer, lpnSize) + +.. function:: GetComputerNameW(lpBuffer, lpnSize) + +.. function:: LookupAccountSidA(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse) + +.. function:: LookupAccountSidW(lpSystemName, lpSid, lpName, cchName, lpReferencedDomainName, cchReferencedDomainName, peUse) + +.. function:: LookupAccountNameA(lpSystemName, lpAccountName, Sid, cbSid, ReferencedDomainName, cchReferencedDomainName, peUse) + +.. function:: LookupAccountNameW(lpSystemName, lpAccountName, Sid, cbSid, ReferencedDomainName, cchReferencedDomainName, peUse) + +.. function:: FileTimeToSystemTime(lpFileTime, lpSystemTime) + +.. function:: SystemTimeToFileTime(lpSystemTime, lpFileTime) + +.. function:: GetSystemTime(lpSystemTime) + +.. function:: GetSystemTimes(lpIdleTime, lpKernelTime, lpUserTime) + +.. function:: GetSystemTimeAsFileTime(lpSystemTimeAsFileTime) + +.. function:: GetLocalTime(lpSystemTime) + +.. function:: GetTickCount() + +.. function:: GetTickCount64() + +.. function:: TdhEnumerateProviders(pBuffer, pBufferSize) + +.. function:: GetFileVersionInfoA(lptstrFilename, dwHandle, dwLen, lpData) + +.. function:: GetFileVersionInfoW(lptstrFilename, dwHandle, dwLen, lpData) + +.. function:: GetFileVersionInfoExA(dwFlags, lpwstrFilename, dwHandle, dwLen, lpData) + +.. function:: GetFileVersionInfoExW(dwFlags, lpwstrFilename, dwHandle, dwLen, lpData) + +.. function:: GetFileVersionInfoSizeA(lptstrFilename, lpdwHandle) + +.. function:: GetFileVersionInfoSizeW(lptstrFilename, lpdwHandle) + +.. function:: GetFileVersionInfoSizeExA(dwFlags, lpwstrFilename, lpdwHandle) + +.. function:: GetFileVersionInfoSizeExW(dwFlags, lpwstrFilename, lpdwHandle) + +.. function:: VerQueryValueA(pBlock, lpSubBlock, lplpBuffer, puLen) + +.. function:: VerQueryValueW(pBlock, lpSubBlock, lplpBuffer, puLen) + +.. function:: GetCursorPos(lpPoint) + +.. function:: WindowFromPoint(Point) + +.. function:: GetWindowRect(hWnd, lpRect) + +.. function:: EnumWindows(lpEnumFunc, lParam) + +.. function:: GetWindowTextA(hWnd, lpString, nMaxCount) + +.. function:: GetParent(hWnd) + +.. function:: GetWindowTextW(hWnd, lpString, nMaxCount) + +.. function:: GetWindowModuleFileNameA(hwnd, pszFileName, cchFileNameMax) + +.. function:: GetWindowModuleFileNameW(hwnd, pszFileName, cchFileNameMax) + +.. function:: EnumChildWindows(hWndParent, lpEnumFunc, lParam) + +.. function:: CloseWindow(hWnd) + +.. function:: GetDesktopWindow() + +.. function:: GetForegroundWindow() + +.. function:: BringWindowToTop(hWnd) + +.. function:: MoveWindow(hWnd, X, Y, nWidth, nHeight, bRepaint) + +.. function:: SetWindowPos(hWnd, hWndInsertAfter, X, Y, cx, cy, uFlags) + +.. function:: SetWindowTextA(hWnd, lpString) + +.. function:: SetWindowTextW(hWnd, lpString) + +.. function:: RealGetWindowClassA(hwnd, pszType, cchType) + +.. function:: RealGetWindowClassW(hwnd, pszType, cchType) + +.. function:: GetClassInfoExA(hinst, lpszClass, lpwcx) + +.. function:: GetClassInfoExW(hinst, lpszClass, lpwcx) + +.. function:: GetClassNameA(hWnd, lpClassName, nMaxCount) + +.. function:: GetClassNameW(hWnd, lpClassName, nMaxCount) + +.. function:: GetWindowThreadProcessId(hWnd, lpdwProcessId) + +.. function:: FindWindowA(lpClassName, lpWindowName) + +.. function:: FindWindowW(lpClassName, lpWindowName) + +.. function:: ExitProcess(uExitCode) + +.. function:: TerminateProcess(hProcess, uExitCode) + +.. function:: GetLastError() + +.. function:: LdrLoadDll(PathToFile, Flags, ModuleFileName, ModuleHandle) + +.. function:: GetExitCodeThread(hThread, lpExitCode) + +.. function:: GetExitCodeProcess(hProcess, lpExitCode) + +.. function:: SetPriorityClass(hProcess, dwPriorityClass) + +.. function:: GetPriorityClass(hProcess) + +.. function:: VirtualAlloc(lpAddress, dwSize, flAllocationType, flProtect) + +.. function:: VirtualAllocEx(hProcess, lpAddress, dwSize, flAllocationType, flProtect) + +.. function:: VirtualFree(lpAddress, dwSize, dwFreeType) + +.. function:: VirtualFreeEx(hProcess, lpAddress, dwSize, dwFreeType) + +.. function:: VirtualProtect(lpAddress, dwSize, flNewProtect, lpflOldProtect) + +.. function:: VirtualProtectEx(hProcess, lpAddress, dwSize, flNewProtect, lpflOldProtect) + +.. function:: VirtualQuery(lpAddress, lpBuffer, dwLength) + +.. function:: VirtualQueryEx(hProcess, lpAddress, lpBuffer, dwLength) + +.. function:: QueryWorkingSet(hProcess, pv, cb) + +.. function:: QueryWorkingSetEx(hProcess, pv, cb) + +.. function:: GetModuleFileNameA(hModule, lpFilename, nSize) + +.. function:: GetModuleFileNameW(hModule, lpFilename, nSize) + +.. function:: CreateThread(lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpThreadId) + +.. function:: CreateRemoteThread(hProcess, lpThreadAttributes, dwStackSize, lpStartAddress, lpParameter, dwCreationFlags, lpThreadId) + +.. function:: CreateProcessA(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation) + +.. function:: CreateProcessW(lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation) + +.. function:: CreateProcessAsUserA(hToken, lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation) + +.. function:: CreateProcessAsUserW(hToken, lpApplicationName, lpCommandLine, lpProcessAttributes, lpThreadAttributes, bInheritHandles, dwCreationFlags, lpEnvironment, lpCurrentDirectory, lpStartupInfo, lpProcessInformation) + +.. function:: GetThreadContext(hThread, lpContext) + +.. function:: SetThreadContext(hThread, lpContext) + +.. function:: OpenThread(dwDesiredAccess, bInheritHandle, dwThreadId) + +.. function:: OpenProcess(dwDesiredAccess, bInheritHandle, dwProcessId) + +.. function:: CloseHandle(hObject) + +.. function:: ReadProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead) + +.. function:: NtWow64ReadVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesRead) + +.. function:: WriteProcessMemory(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten) + +.. function:: NtWow64WriteVirtualMemory64(hProcess, lpBaseAddress, lpBuffer, nSize, lpNumberOfBytesWritten) + +.. function:: GetCurrentProcess() + +.. function:: CreateFileA(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile) + +.. function:: CreateFileW(lpFileName, dwDesiredAccess, dwShareMode, lpSecurityAttributes, dwCreationDisposition, dwFlagsAndAttributes, hTemplateFile) + +.. function:: DuplicateToken(ExistingTokenHandle, ImpersonationLevel, DuplicateTokenHandle) + +.. function:: DuplicateTokenEx(hExistingToken, dwDesiredAccess, lpTokenAttributes, ImpersonationLevel, TokenType, phNewToken) + +.. function:: SetThreadToken(Thread, Token) + +.. function:: LookupPrivilegeValueA(lpSystemName, lpName, lpLuid) + +.. function:: LookupPrivilegeValueW(lpSystemName, lpName, lpLuid) + +.. function:: LookupPrivilegeNameA(lpSystemName, lpLuid, lpName, cchName) + +.. function:: LookupPrivilegeNameW(lpSystemName, lpLuid, lpName, cchName) + +.. function:: AdjustTokenPrivileges(TokenHandle, DisableAllPrivileges, NewState, BufferLength, PreviousState, ReturnLength) + +.. function:: FindResourceA(hModule, lpName, lpType) + +.. function:: FindResourceW(hModule, lpName, lpType) + +.. function:: SizeofResource(hModule, hResInfo) + +.. function:: LoadResource(hModule, hResInfo) + +.. function:: LockResource(hResData) + +.. function:: FreeResource(hResData) + +.. function:: EnumResourceTypesA(hModule, lpEnumFunc, lParam) + +.. function:: EnumResourceTypesW(hModule, lpEnumFunc, lParam) + +.. function:: EnumResourceNamesA(hModule, lpType, lpEnumFunc, lParam) + +.. function:: EnumResourceNamesW(hModule, lpType, lpEnumFunc, lParam) + +.. function:: GetVersionExA(lpVersionInformation) + +.. function:: GetVersionExW(lpVersionInformation) + +.. function:: GetVersion() + +.. function:: GetCurrentThread() + +.. function:: GetCurrentThreadId() + +.. function:: GetCurrentProcessorNumber() + +.. function:: AllocConsole() + +.. function:: FreeConsole() + +.. function:: GetConsoleOutputCP() + +.. function:: GetConsoleCP() + +.. function:: GetStdHandle(nStdHandle) + +.. function:: SetStdHandle(nStdHandle, hHandle) + +.. function:: SetThreadAffinityMask(hThread, dwThreadAffinityMask) + +.. function:: ReadFile(hFile, lpBuffer, nNumberOfBytesToRead, lpNumberOfBytesRead, lpOverlapped) + +.. function:: WriteFile(hFile, lpBuffer, nNumberOfBytesToWrite, lpNumberOfBytesWritten, lpOverlapped) + +.. function:: AddVectoredContinueHandler(FirstHandler, VectoredHandler) + +.. function:: AddVectoredExceptionHandler(FirstHandler, VectoredHandler) + +.. function:: TerminateThread(hThread, dwExitCode) + +.. function:: ExitThread(dwExitCode) + +.. function:: RemoveVectoredExceptionHandler(Handler) + +.. function:: ResumeThread(hThread) + +.. function:: SuspendThread(hThread) + +.. function:: WaitForSingleObject(hHandle, dwMilliseconds) + +.. function:: GetThreadId(Thread) + +.. function:: DeviceIoControl(hDevice, dwIoControlCode, lpInBuffer, nInBufferSize, lpOutBuffer, nOutBufferSize, lpBytesReturned, lpOverlapped) + +.. function:: Wow64DisableWow64FsRedirection(OldValue) + +.. function:: Wow64RevertWow64FsRedirection(OldValue) + +.. function:: Wow64EnableWow64FsRedirection(Wow64FsEnableRedirection) + +.. function:: Wow64GetThreadContext(hThread, lpContext) + +.. function:: SetConsoleCtrlHandler(HandlerRoutine, Add) + +.. function:: GlobalAlloc(uFlags, dwBytes) + +.. function:: GlobalFree(hMem) + +.. function:: GlobalUnlock(hMem) + +.. function:: GlobalLock(hMem) + +.. function:: OpenClipboard(hWndNewOwner) + +.. function:: EmptyClipboard() + +.. function:: CloseClipboard() + +.. function:: SetClipboardData(uFormat, hMem) + +.. function:: GetClipboardData(uFormat) + +.. function:: EnumClipboardFormats(format) + +.. function:: GetClipboardFormatNameA(format, lpszFormatName, cchMaxCount) + +.. function:: GetClipboardFormatNameW(format, lpszFormatName, cchMaxCount) + +.. function:: WinVerifyTrust(hWnd, pgActionID, pWVTData) + +.. function:: OpenProcessToken(ProcessHandle, DesiredAccess, TokenHandle) + +.. function:: OpenThreadToken(ThreadHandle, DesiredAccess, OpenAsSelf, TokenHandle) + +.. function:: GetTokenInformation(TokenHandle, TokenInformationClass, TokenInformation, TokenInformationLength, ReturnLength) + +.. function:: SetTokenInformation(TokenHandle, TokenInformationClass, TokenInformation, TokenInformationLength) + +.. function:: CreateWellKnownSid(WellKnownSidType, DomainSid, pSid, cbSid) + +.. function:: DebugBreak() + +.. function:: WaitForDebugEvent(lpDebugEvent, dwMilliseconds) + +.. function:: ContinueDebugEvent(dwProcessId, dwThreadId, dwContinueStatus) + +.. function:: DebugActiveProcess(dwProcessId) + +.. function:: DebugActiveProcessStop(dwProcessId) + +.. function:: DebugSetProcessKillOnExit(KillOnExit) + +.. function:: DebugBreakProcess(Process) + +.. function:: GetProcessId(Process) + +.. function:: Wow64SetThreadContext(hThread, lpContext) + +.. function:: GetMappedFileNameW(hProcess, lpv, lpFilename, nSize) + +.. function:: GetMappedFileNameA(hProcess, lpv, lpFilename, nSize) + +.. function:: RtlInitString(DestinationString, SourceString) + +.. function:: RtlInitUnicodeString(DestinationString, SourceString) + +.. function:: RtlAnsiStringToUnicodeString(DestinationString, SourceString, AllocateDestinationString) + +.. function:: RtlDecompressBuffer(CompressionFormat, UncompressedBuffer, UncompressedBufferSize, CompressedBuffer, CompressedBufferSize, FinalUncompressedSize) + +.. function:: RtlCompressBuffer(CompressionFormatAndEngine, UncompressedBuffer, UncompressedBufferSize, CompressedBuffer, CompressedBufferSize, UncompressedChunkSize, FinalCompressedSize, WorkSpace) + +.. function:: RtlDecompressBufferEx(CompressionFormat, UncompressedBuffer, UncompressedBufferSize, CompressedBuffer, CompressedBufferSize, FinalUncompressedSize, WorkSpace) + +.. function:: RtlGetCompressionWorkSpaceSize(CompressionFormatAndEngine, CompressBufferWorkSpaceSize, CompressFragmentWorkSpaceSize) + +.. function:: RtlMoveMemory(Destination, Source, Length) + +.. function:: lstrcmpA(lpString1, lpString2) + +.. function:: lstrcmpW(lpString1, lpString2) + +.. function:: CreateFileMappingA(hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, lpName) + +.. function:: CreateFileMappingW(hFile, lpFileMappingAttributes, flProtect, dwMaximumSizeHigh, dwMaximumSizeLow, lpName) + +.. function:: MapViewOfFile(hFileMappingObject, dwDesiredAccess, dwFileOffsetHigh, dwFileOffsetLow, dwNumberOfBytesToMap) + +.. function:: GetLogicalDriveStringsA(nBufferLength, lpBuffer) + +.. function:: GetLogicalDriveStringsW(nBufferLength, lpBuffer) + +.. function:: GetVolumeInformationA(lpRootPathName, lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize) + +.. function:: GetVolumeInformationW(lpRootPathName, lpVolumeNameBuffer, nVolumeNameSize, lpVolumeSerialNumber, lpMaximumComponentLength, lpFileSystemFlags, lpFileSystemNameBuffer, nFileSystemNameSize) + +.. function:: GetVolumeNameForVolumeMountPointA(lpszVolumeMountPoint, lpszVolumeName, cchBufferLength) + +.. function:: GetVolumeNameForVolumeMountPointW(lpszVolumeMountPoint, lpszVolumeName, cchBufferLength) + +.. function:: GetDriveTypeA(lpRootPathName) + +.. function:: GetDriveTypeW(lpRootPathName) + +.. function:: QueryDosDeviceA(lpDeviceName, lpTargetPath, ucchMax) + +.. function:: QueryDosDeviceW(lpDeviceName, lpTargetPath, ucchMax) + +.. function:: FindFirstVolumeA(lpszVolumeName, cchBufferLength) + +.. function:: FindFirstVolumeW(lpszVolumeName, cchBufferLength) + +.. function:: FindNextVolumeA(hFindVolume, lpszVolumeName, cchBufferLength) + +.. function:: FindNextVolumeW(hFindVolume, lpszVolumeName, cchBufferLength) + +.. function:: DuplicateHandle(hSourceProcessHandle, hSourceHandle, hTargetProcessHandle, lpTargetHandle, dwDesiredAccess, bInheritHandle, dwOptions) + +.. function:: ZwDuplicateObject(SourceProcessHandle, SourceHandle, TargetProcessHandle, TargetHandle, DesiredAccess, HandleAttributes, Options) + +.. function:: GetModuleBaseNameA(hProcess, hModule, lpBaseName, nSize) + +.. function:: GetModuleBaseNameW(hProcess, hModule, lpBaseName, nSize) + +.. function:: GetProcessImageFileNameA(hProcess, lpImageFileName, nSize) + +.. function:: GetProcessImageFileNameW(hProcess, lpImageFileName, nSize) + +.. function:: GetSystemMetrics(nIndex) + +.. function:: GetInterfaceInfo(pIfTable, dwOutBufLen) + +.. function:: GetIfTable(pIfTable, pdwSize, bOrder) + +.. function:: GetIpAddrTable(pIpAddrTable, pdwSize, bOrder) + +.. function:: GetProcessTimes(hProcess, lpCreationTime, lpExitTime, lpKernelTime, lpUserTime) + +.. function:: GetShortPathNameA(lpszLongPath, lpszShortPath, cchBuffer) + +.. function:: GetShortPathNameW(lpszLongPath, lpszShortPath, cchBuffer) + +.. function:: GetLongPathNameA(lpszShortPath, lpszLongPath, cchBuffer) + +.. function:: GetLongPathNameW(lpszShortPath, lpszLongPath, cchBuffer) + +.. function:: GetProcessDEPPolicy(hProcess, lpFlags, lpPermanent) + +.. function:: ConvertStringSidToSidA(StringSid, Sid) + +.. function:: ConvertStringSidToSidW(StringSid, Sid) + +.. function:: ConvertSidToStringSidA(Sid, StringSid) + +.. function:: ConvertSidToStringSidW(Sid, StringSid) + +.. function:: LocalFree(hMem) + +.. function:: InitializeProcThreadAttributeList(lpAttributeList, dwAttributeCount, dwFlags, lpSize) + +.. function:: UpdateProcThreadAttribute(lpAttributeList, dwFlags, Attribute, lpValue, cbSize, lpPreviousValue, lpReturnSize) + +.. function:: DeleteProcThreadAttributeList(lpAttributeList) + +.. function:: MessageBoxA(hWnd, lpText, lpCaption, uType) + +.. function:: MessageBoxW(hWnd, lpText, lpCaption, uType) + +.. function:: GetWindowsDirectoryA(lpBuffer, uSize) + +.. function:: GetWindowsDirectoryW(lpBuffer, uSize) + +.. function:: RtlGetUnloadEventTraceEx(ElementSize, ElementCount, EventTrace) + +.. function:: RtlDosPathNameToNtPathName_U(DosName, NtName, PartName, RelativeName) + +.. function:: ApiSetResolveToHost(Schema, FileNameIn, ParentName, Resolved, HostBinary) + +.. function:: Sleep(dwMilliseconds) + +.. function:: SleepEx(dwMilliseconds, bAlertable) + +.. function:: GetProcessMitigationPolicy(hProcess, MitigationPolicy, lpBuffer, dwLength) + +.. function:: SetProcessMitigationPolicy(MitigationPolicy, lpBuffer, dwLength) + +.. function:: GetProductInfo(dwOSMajorVersion, dwOSMinorVersion, dwSpMajorVersion, dwSpMinorVersion, pdwReturnedProductType) + +.. function:: GetProcessMemoryInfo(Process, ppsmemCounters, cb) + +.. function:: GetModuleHandleA(lpModuleName) + +.. function:: GetModuleHandleW(lpModuleName) + +.. function:: RtlEqualUnicodeString(String1, String2, CaseInSensitive) + +.. function:: GetFirmwareEnvironmentVariableA(lpName, lpGuid, pBuffer, nSize) + +.. function:: GetFirmwareEnvironmentVariableW(lpName, lpGuid, pBuffer, nSize) + +.. function:: GetFirmwareEnvironmentVariableExA(lpName, lpGuid, pBuffer, nSize, pdwAttribubutes) + +.. function:: GetFirmwareEnvironmentVariableExW(lpName, lpGuid, pBuffer, nSize, pdwAttribubutes) + +.. function:: IsDebuggerPresent() + +.. function:: WSAStartup(wVersionRequested, lpWSAData) + +.. function:: WSACleanup() + +.. function:: WSAGetLastError() + +.. function:: getaddrinfo(pNodeName, pServiceName, pHints, ppResult) + +.. function:: GetAddrInfoW(pNodeName, pServiceName, pHints, ppResult) + +.. function:: WSASocketA(af, type, protocol, lpProtocolInfo, g, dwFlags) + +.. function:: WSASocketW(af, type, protocol, lpProtocolInfo, g, dwFlags) + +.. function:: socket(af, type, protocol) + +.. function:: connect(s, name, namelen) + +.. function:: send(s, buf, len, flags) + +.. function:: recv(s, buf, len, flags) + +.. function:: shutdown(s, how) + +.. function:: closesocket(s) + diff --git a/docs/source/winstructs_generated.rst b/docs/source/winstructs_generated.rst index 37f32a3..14a33fc 100644 --- a/docs/source/winstructs_generated.rst +++ b/docs/source/winstructs_generated.rst @@ -6224,6 +6224,49 @@ _IMAGE_LOAD_CONFIG_DIRECTORY64 :class:`ULONGLONG` +_MEM_ADDRESS_REQUIREMENTS +''''''''''''''''''''''''' +.. class:: MEM_ADDRESS_REQUIREMENTS + + Alias for :class:`_MEM_ADDRESS_REQUIREMENTS` + +.. class:: PMEM_ADDRESS_REQUIREMENTS + + Pointer to :class:`_MEM_ADDRESS_REQUIREMENTS` + +.. class:: _MEM_ADDRESS_REQUIREMENTS + + .. attribute:: LowestStartingAddress + + :class:`PVOID` + + + .. attribute:: HighestEndingAddress + + :class:`PVOID` + + + .. attribute:: Alignment + + :class:`SIZE_T` + +MEM_EXTENDED_PARAMETER +'''''''''''''''''''''' +.. class:: PMEM_EXTENDED_PARAMETER + + Pointer to :class:`MEM_EXTENDED_PARAMETER` + +.. class:: MEM_EXTENDED_PARAMETER + + .. attribute:: DUMMYSTRUCTNAME + + :class:`_ANON_MEM_EXTENDED_PARAMETER_SUB_STRUCTURE_1` + + + .. attribute:: DUMMYUNIONNAME + + :class:`_ANON_MEM_EXTENDED_PARAMETER_SUB_UNION_2` + _SERVICE_STATUS ''''''''''''''' .. class:: LPSERVICE_STATUS @@ -27355,6 +27398,39 @@ _KEY_INFORMATION_CLASS .. attribute:: MaxKeyInfoClass(10) +MEM_EXTENDED_PARAMETER_TYPE +''''''''''''''''''''''''''' +.. class:: PMEM_EXTENDED_PARAMETER_TYPE + + Pointer to :class:`MEM_EXTENDED_PARAMETER_TYPE` + + +.. class:: MEM_EXTENDED_PARAMETER_TYPE + + + .. attribute:: MemExtendedParameterInvalidType(0) + + + .. attribute:: MemExtendedParameterAddressRequirements(1) + + + .. attribute:: MemExtendedParameterNumaNode(2) + + + .. attribute:: MemExtendedParameterPartitionHandle(3) + + + .. attribute:: MemExtendedParameterUserPhysicalHandle(4) + + + .. attribute:: MemExtendedParameterAttributeFlags(5) + + + .. attribute:: MemExtendedParameterImageMachine(6) + + + .. attribute:: MemExtendedParameterMax(7) + _SC_STATUS_TYPE ''''''''''''''' .. class:: SC_STATUS_TYPE diff --git a/windows/generated_def/meta.py b/windows/generated_def/meta.py index 84bf8cb..e037222 100644 --- a/windows/generated_def/meta.py +++ b/windows/generated_def/meta.py @@ -1900,6 +1900,7 @@ windef = {'ABOVE_NORMAL_PRIORITY_CLASS', 'MEM_4MB_PAGES', 'MEM_COMMIT', 'MEM_DECOMMIT', +'MEM_EXTENDED_PARAMETER_TYPE_BITS', 'MEM_FREE', 'MEM_IMAGE', 'MEM_LARGE_PAGES', @@ -12619,7 +12620,9 @@ structs = {'ACCESS_ALLOWED_ACE', 'MEMORY_BASIC_INFORMATION', 'MEMORY_BASIC_INFORMATION32', 'MEMORY_BASIC_INFORMATION64', +'MEM_ADDRESS_REQUIREMENTS', 'MEM_DES', +'MEM_EXTENDED_PARAMETER', 'MEM_LARGE_DES', 'MEM_LARGE_RANGE', 'MEM_LARGE_RESOURCE', @@ -13046,7 +13049,9 @@ structs = {'ACCESS_ALLOWED_ACE', 'PMEMORY_BASIC_INFORMATION', 'PMEMORY_BASIC_INFORMATION32', 'PMEMORY_BASIC_INFORMATION64', +'PMEM_ADDRESS_REQUIREMENTS', 'PMEM_DES', +'PMEM_EXTENDED_PARAMETER', 'PMEM_LARGE_DES', 'PMEM_LARGE_RANGE', 'PMEM_LARGE_RESOURCE', @@ -13781,6 +13786,7 @@ structs = {'ACCESS_ALLOWED_ACE', '_MEMORY_BASIC_INFORMATION', '_MEMORY_BASIC_INFORMATION32', '_MEMORY_BASIC_INFORMATION64', +'_MEM_ADDRESS_REQUIREMENTS', '_MIB_IFROW', '_MIB_IFTABLE', '_MIB_IPADDRROW_XP', @@ -14107,6 +14113,7 @@ enums = {'ACCESS_MODE', 'KEY_INFORMATION_CLASS', 'KEY_VALUE_INFORMATION_CLASS', 'MEMORY_INFORMATION_CLASS', +'MEM_EXTENDED_PARAMETER_TYPE', 'MIB_TCP_STATE', 'MSHLFLAGS', 'MULTIPLE_TRUSTEE_OPERATION', @@ -14128,6 +14135,7 @@ enums = {'ACCESS_MODE', 'PACKAGE_EXECUTION_STATE', 'PALPC_MESSAGE_INFORMATION_CLASS', 'PFILE_INFORMATION_CLASS', +'PMEM_EXTENDED_PARAMETER_TYPE', 'PNT_PRODUCT_TYPE', 'POLICY_INFORMATION_CLASS', 'POLICY_LSA_SERVER_ROLE', @@ -14826,6 +14834,7 @@ functions = {'AccessCheck', 'NtQueryValueKey', 'NtQueryVirtualMemory', 'NtQueryVolumeInformationFile', +'NtReadFile', 'NtReadVirtualMemory', 'NtSetContextThread', 'NtSetEaFile', @@ -14836,6 +14845,7 @@ functions = {'AccessCheck', 'NtUnmapViewOfSection', 'NtWow64ReadVirtualMemory64', 'NtWow64WriteVirtualMemory64', +'NtWriteFile', 'NtWriteVirtualMemory', 'ObjectFromLresult', 'OpenBackupEventLogA', diff --git a/windows/generated_def/windef.py b/windows/generated_def/windef.py index 04904b4..932222c 100644 --- a/windows/generated_def/windef.py +++ b/windows/generated_def/windef.py @@ -1144,6 +1144,7 @@ REG_LEGAL_OPTION = make_flag("REG_LEGAL_OPTION", ( REG_OPTION_RESERVED | REG_OPT REG_STANDARD_FORMAT = make_flag("REG_STANDARD_FORMAT", 1) REG_LATEST_FORMAT = make_flag("REG_LATEST_FORMAT", 2) REG_NO_COMPRESSION = make_flag("REG_NO_COMPRESSION", 4) +MEM_EXTENDED_PARAMETER_TYPE_BITS = make_flag("MEM_EXTENDED_PARAMETER_TYPE_BITS", 8) ACCESS_MIN_MS_ACE_TYPE = make_flag("ACCESS_MIN_MS_ACE_TYPE", ( 0x0 )) ACCESS_ALLOWED_ACE_TYPE = make_flag("ACCESS_ALLOWED_ACE_TYPE", ( 0x0 )) ACCESS_DENIED_ACE_TYPE = make_flag("ACCESS_DENIED_ACE_TYPE", ( 0x1 )) diff --git a/windows/generated_def/winfuncs.py b/windows/generated_def/winfuncs.py index d6b90de..adab3a2 100644 --- a/windows/generated_def/winfuncs.py +++ b/windows/generated_def/winfuncs.py @@ -2905,6 +2905,16 @@ NtDelayExecutionParams = ((1, 'Alertable'), (1, 'DelayInterval')) NtTerminateProcessPrototype = WINFUNCTYPE(NTSTATUS, HANDLE, NTSTATUS) NtTerminateProcessParams = ((1, 'ProcessHandle'), (1, 'ExitStatus')) +#def NtReadFile(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key): +# return NtReadFile.ctypes_function(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key) +NtReadFilePrototype = WINFUNCTYPE(NTSTATUS, HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PULONG) +NtReadFileParams = ((1, 'FileHandle'), (1, 'Event'), (1, 'ApcRoutine'), (1, 'ApcContext'), (1, 'IoStatusBlock'), (1, 'Buffer'), (1, 'Length'), (1, 'ByteOffset'), (1, 'Key')) + +#def NtWriteFile(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key): +# return NtWriteFile.ctypes_function(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key) +NtWriteFilePrototype = WINFUNCTYPE(NTSTATUS, HANDLE, HANDLE, PIO_APC_ROUTINE, PVOID, PIO_STATUS_BLOCK, PVOID, ULONG, PLARGE_INTEGER, PULONG) +NtWriteFileParams = ((1, 'FileHandle'), (1, 'Event'), (1, 'ApcRoutine'), (1, 'ApcContext'), (1, 'IoStatusBlock'), (1, 'Buffer'), (1, 'Length'), (1, 'ByteOffset'), (1, 'Key')) + #def GetComputerNameExA(NameType, lpBuffer, nSize): # return GetComputerNameExA.ctypes_function(NameType, lpBuffer, nSize) GetComputerNameExAPrototype = WINFUNCTYPE(BOOL, COMPUTER_NAME_FORMAT, LPSTR, LPDWORD) diff --git a/windows/generated_def/winstructs.py b/windows/generated_def/winstructs.py index 476e786..88be678 100644 --- a/windows/generated_def/winstructs.py +++ b/windows/generated_def/winstructs.py @@ -2836,6 +2836,53 @@ class _IMAGE_LOAD_CONFIG_DIRECTORY64(Structure): IMAGE_LOAD_CONFIG_DIRECTORY64 = _IMAGE_LOAD_CONFIG_DIRECTORY64 PIMAGE_LOAD_CONFIG_DIRECTORY64 = POINTER(_IMAGE_LOAD_CONFIG_DIRECTORY64) +MemExtendedParameterInvalidType = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterInvalidType", 0x0) +MemExtendedParameterAddressRequirements = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterAddressRequirements", 0x1) +MemExtendedParameterNumaNode = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterNumaNode", 0x2) +MemExtendedParameterPartitionHandle = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterPartitionHandle", 0x3) +MemExtendedParameterUserPhysicalHandle = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterUserPhysicalHandle", 0x4) +MemExtendedParameterAttributeFlags = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterAttributeFlags", 0x5) +MemExtendedParameterImageMachine = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterImageMachine", 0x6) +MemExtendedParameterMax = EnumValue("MEM_EXTENDED_PARAMETER_TYPE", "MemExtendedParameterMax", 0x7) +class MEM_EXTENDED_PARAMETER_TYPE(EnumType): + values = [MemExtendedParameterInvalidType, MemExtendedParameterAddressRequirements, MemExtendedParameterNumaNode, MemExtendedParameterPartitionHandle, MemExtendedParameterUserPhysicalHandle, MemExtendedParameterAttributeFlags, MemExtendedParameterImageMachine, MemExtendedParameterMax] + mapper = FlagMapper(*values) +PMEM_EXTENDED_PARAMETER_TYPE = POINTER(MEM_EXTENDED_PARAMETER_TYPE) + + +class _MEM_ADDRESS_REQUIREMENTS(Structure): + _fields_ = [ + ("LowestStartingAddress", PVOID), + ("HighestEndingAddress", PVOID), + ("Alignment", SIZE_T), + ] +MEM_ADDRESS_REQUIREMENTS = _MEM_ADDRESS_REQUIREMENTS +PMEM_ADDRESS_REQUIREMENTS = POINTER(_MEM_ADDRESS_REQUIREMENTS) + +class _ANON_MEM_EXTENDED_PARAMETER_SUB_STRUCTURE_1(Structure): + _fields_ = [ + ("Type", ULONG64, 8), + ("Reserved", ULONG64, 56), + ] + + +class _ANON_MEM_EXTENDED_PARAMETER_SUB_UNION_2(Union): + _fields_ = [ + ("ULong64", ULONG64), + ("Pointer", PVOID), + ("Size", SIZE_T), + ("Handle", HANDLE), + ("ULong", ULONG), + ] + +class MEM_EXTENDED_PARAMETER(Structure): + _anonymous_ = ("DUMMYSTRUCTNAME","DUMMYUNIONNAME") + _fields_ = [ + ("DUMMYSTRUCTNAME", _ANON_MEM_EXTENDED_PARAMETER_SUB_STRUCTURE_1), + ("DUMMYUNIONNAME", _ANON_MEM_EXTENDED_PARAMETER_SUB_UNION_2), + ] +PMEM_EXTENDED_PARAMETER = POINTER(MEM_EXTENDED_PARAMETER) + SC_STATUS_PROCESS_INFO = EnumValue("_SC_STATUS_TYPE", "SC_STATUS_PROCESS_INFO", 0x0) class _SC_STATUS_TYPE(EnumType): values = [SC_STATUS_PROCESS_INFO] diff --git a/windows/winproxy/apis/ntdll.py b/windows/winproxy/apis/ntdll.py index d0a0b34..0b14f73 100644 --- a/windows/winproxy/apis/ntdll.py +++ b/windows/winproxy/apis/ntdll.py @@ -80,6 +80,22 @@ def NtQueryEaFile(FileHandle, IoStatusBlock, Buffer, Length, ReturnSingleEntry, def NtSetEaFile(FileHandle, IoStatusBlock, Buffer, Length): return NtSetEaFile.ctypes_function(FileHandle, IoStatusBlock, Buffer, Length) +@NtdllProxy() +def NtReadFile(FileHandle, Event=None, ApcRoutine=None, ApcContext=None, IoStatusBlock=None, Buffer=NeededParameter, Length=None, ByteOffset=None, Key=None): + if Length is None: + Length = ctypes.sizeof(Buffer) + if IoStatusBlock is None: + IoStatusBlock = gdef.IO_STATUS_BLOCK() + return NtReadFile.ctypes_function(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key) + +@NtdllProxy() +def NtWriteFile(FileHandle, Event=None, ApcRoutine=None, ApcContext=None, IoStatusBlock=None, Buffer=NeededParameter, Length=None, ByteOffset=None, Key=None): + if Length is None: + Length = ctypes.sizeof(Buffer) + if IoStatusBlock is None: + IoStatusBlock = gdef.IO_STATUS_BLOCK() + return NtWriteFile.ctypes_function(FileHandle, Event, ApcRoutine, ApcContext, IoStatusBlock, Buffer, Length, ByteOffset, Key) + # Process