mql-for-begginers/Include/WinAPI/winreg.mqh
2025-07-22 18:30:17 +03:00

77 lines
No EOL
5.9 KiB
MQL5

//+------------------------------------------------------------------+
//| winreg.mqh |
//| Copyright 2000-2025, MetaQuotes Ltd. |
//| https://www.mql5.com |
//+------------------------------------------------------------------+
#include <WinAPI\windef.mqh>
#include <WinAPI\winnt.mqh>
//---
struct VALENTW
{
PVOID ve_valuename;
uint ve_valuelen;
uchar offset1[4];
PVOID ve_valueptr;
uint ve_type;
uchar offset2[4];
};
//+------------------------------------------------------------------+
//| |
//+------------------------------------------------------------------+
#import "advapi32.dll"
int AbortSystemShutdownW(string machine_name);
uint CheckForHiberboot(uchar &hiberboot,uchar clear_flag);
uint InitiateShutdownW(string machine_name,string message,uint grace_period,uint shutdown_flags,uint reason);
int InitiateSystemShutdownExW(string machine_name,string message,uint timeout,int force_apps_closed,int reboot_after_shutdown,uint reason);
int InitiateSystemShutdownW(string machine_name,string message,uint timeout,int force_apps_closed,int reboot_after_shutdown);
int RegCloseKey(HANDLE key);
int RegConnectRegistryExW(const string machine_name,HANDLE key,uint Flags,HANDLE &result);
int RegConnectRegistryW(const string machine_name,HANDLE key,HANDLE &result);
int RegCopyTreeW(HANDLE key_src,const string sub_key,HANDLE key_dest);
int RegCreateKeyExW(HANDLE key,const string sub_key,PVOID reserved,string class_name,uint options,uint desired,PVOID security_attributes,HANDLE &result,uint &disposition);
int RegCreateKeyTransactedW(HANDLE key,const string sub_key,PVOID reserved,string class_name,uint options,uint desired,PVOID security_attributes,HANDLE &result,uint &disposition,HANDLE transaction,PVOID extended_parameter);
int RegCreateKeyW(HANDLE key,const string sub_key,HANDLE &result);
int RegDeleteKeyExW(HANDLE key,const string sub_key,uint desired,PVOID reserved);
int RegDeleteKeyTransactedW(HANDLE key,const string sub_key,uint desired,PVOID reserved,HANDLE transaction,PVOID extended_parameter);
int RegDeleteKeyValueW(HANDLE key,const string sub_key,const string value_name);
int RegDeleteKeyW(HANDLE key,const string sub_key);
int RegDeleteTreeW(HANDLE key,const string sub_key);
int RegDeleteValueW(HANDLE key,const string value_name);
int RegDisablePredefinedCache(void);
int RegDisablePredefinedCacheEx(void);
int RegDisableReflectionKey(HANDLE base);
int RegEnableReflectionKey(HANDLE base);
int RegEnumKeyExW(HANDLE key,uint index,ushort &name[],uint &name_size,PVOID reserved,ushort &class_name[],uint &class_size,FILETIME &last_write_time);
int RegEnumKeyW(HANDLE key,uint index,ushort &name[],uint &name_size);
int RegEnumValueW(HANDLE key,uint index,ushort &value_name[],uint &value_name_size,PVOID reserved,uint &type,uchar &data[],uint &data_size);
int RegFlushKey(HANDLE key);
int RegGetKeySecurity(HANDLE key,uint SecurityInformation,SECURITY_DESCRIPTOR &security_descriptor,uint &security_descriptor_size);
int RegGetValueW(HANDLE key,const string sub_key,const string value,uint flags,uint &type,uchar &data[],uint &data_size);
int RegLoadAppKeyW(const string file,HANDLE &result,uint desired,uint options,PVOID reserved);
int RegLoadKeyW(HANDLE key,const string sub_key,const string file);
int RegLoadMUIStringW(HANDLE key,const string value,ushort &out_buf[],uint &out_buf_size,uint &data,uint flags,const string directory);
int RegNotifyChangeKeyValue(HANDLE key,int watch_subtree,uint notify_filter,HANDLE event,int asynchronous);
int RegOpenCurrentUser(uint desired,HANDLE &result);
int RegOpenKeyExW(HANDLE key,const string sub_key,uint options,uint desired,HANDLE &result);
int RegOpenKeyTransactedW(HANDLE key,const string sub_key,uint options,uint desired,HANDLE &result,HANDLE transaction,PVOID extended_paremeter);
int RegOpenKeyW(HANDLE key,const string sub_key,HANDLE &result);
int RegOpenUserClassesRoot(HANDLE token,uint options,uint desired,HANDLE &result);
int RegOverridePredefKey(HANDLE key,HANDLE new_key);
int RegQueryInfoKeyW(HANDLE key,string class_name,uint &class_size,PVOID reserved,uint &sub_keys,uint &max_sub_key_len,uint &max_class_len,uint &values,uint &max_value_name_len,uint &max_value_len,uint &security_descriptor,FILETIME &last_write_time);
int RegQueryMultipleValuesW(HANDLE key,VALENTW &val_list[],uint num_vals,ushort &value_buf[],uint &totsize);
int RegQueryReflectionKey(HANDLE base,int &is_reflection_disabled);
int RegQueryValueExW(HANDLE key,const string value_name,PVOID reserved,uint &type,uchar &data[],uint &data_size);
int RegQueryValueW(HANDLE key,const string sub_key,uchar &data[],uint &data_size);
int RegRenameKey(HANDLE key,const string sub_key_name,const string new_key_name);
int RegReplaceKeyW(HANDLE key,const string sub_key,const string new_file,const string old_file);
int RegRestoreKeyW(HANDLE key,const string file,uint flags);
int RegSaveKeyExW(HANDLE key,const string file,PVOID security_attributes,uint flags);
int RegSaveKeyW(HANDLE key,const string file,PVOID security_attributes);
int RegSetKeySecurity(HANDLE key,uint SecurityInformation,SECURITY_DESCRIPTOR &security_descriptor);
int RegSetKeyValueW(HANDLE key,const string sub_key,const string value_name,uint type,const uchar &data[],uint data);
int RegSetValueExW(HANDLE key,const string value_name,PVOID reserved,uint type,const uchar &data[],uint data_size);
int RegSetValueW(HANDLE key,const string sub_key,uint type,const ushort &data[],uint data_size);
int RegUnLoadKeyW(HANDLE key,const string sub_key);
#import
//+------------------------------------------------------------------+