Browse Source

* RegisterDeviceNotification

marcoonthegit 2 years ago
parent
commit
67eac52f07

+ 1 - 0
rtl/win/wininc/ascdef.inc

@@ -483,6 +483,7 @@ function FindFirstFileTransacted(lpfilename : LPCStr;fInfoLevelId:FINDEX_INFO_LE
 function GetComputerNameEx(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExA';
 function GetComputerNameEx(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExA';
 function QueryFullProcessImageName(hProcess:THandle;dwFlags:DWord; lpexename :lpstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameA';
 function QueryFullProcessImageName(hProcess:THandle;dwFlags:DWord; lpexename :lpstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameA';
 function RealGetWindowClass(Wnd : HWND;ClassnameBuffer : pansichar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassA';
 function RealGetWindowClass(Wnd : HWND;ClassnameBuffer : pansichar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassA';
+function RegisterDeviceNotification(hRecipient:THandle;NotificationFilter:pointer;Flags:DWORD ):HDEVNOTIFY; stdcall; external 'user32.dll' name 'RegisterDeviceNotificationA';
 {$endif read_interface}
 {$endif read_interface}
 
 
 
 

+ 1 - 0
rtl/win/wininc/ascfun.inc

@@ -496,6 +496,7 @@ function GetConsoleAliasExesA(ExeNameBuffer:LPSTR; ExeNameBufferLength:DWORD):DW
 function GetComputerNameExA(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExA';
 function GetComputerNameExA(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExA';
 function QueryFullProcessImageNameA(hProcess:THandle;dwFlags:DWord; lpexename :lpstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameA';
 function QueryFullProcessImageNameA(hProcess:THandle;dwFlags:DWord; lpexename :lpstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameA';
 function RealGetWindowClassA(Wnd : HWND;ClassnameBuffer : pansichar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassA';
 function RealGetWindowClassA(Wnd : HWND;ClassnameBuffer : pansichar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassA';
+function RegisterDeviceNotificationA(hRecipient:THandle;NotificationFilter:pointer;Flags:DWORD ):HDEVNOTIFY; stdcall; external 'user32.dll' name 'RegisterDeviceNotificationA';
 {$endif read_interface}
 {$endif read_interface}
 
 
 
 

+ 3 - 0
rtl/win/wininc/defines.inc

@@ -1303,6 +1303,9 @@
     RT_ANIICON    = MAKEINTRESOURCE(22);
     RT_ANIICON    = MAKEINTRESOURCE(22);
     RT_HTML       = MAKEINTRESOURCE(23);
     RT_HTML       = MAKEINTRESOURCE(23);
     RT_MANIFEST   = MAKEINTRESOURCE(24);
     RT_MANIFEST   = MAKEINTRESOURCE(24);
+    DEVICE_NOTIFY_WINDOW_HANDLE          = $00000000;
+    DEVICE_NOTIFY_SERVICE_HANDLE         = $00000001;
+    DEVICE_NOTIFY_ALL_INTERFACE_CLASSES  = $00000004;
 
 
 
 
   { EnumServicesStatus  }
   { EnumServicesStatus  }

+ 1 - 0
rtl/win/wininc/unidef.inc

@@ -476,6 +476,7 @@ function FindFirstFileTransacted(lpfilename : LPCWStr;fInfoLevelId:FINDEX_INFO_L
 function GetComputerNameEx(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPWSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExW';
 function GetComputerNameEx(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPWSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExW';
 function QueryFullProcessImageName(hProcess:THandle;dwFlags:DWord; lpexename :lpwstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameW';
 function QueryFullProcessImageName(hProcess:THandle;dwFlags:DWord; lpexename :lpwstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameW';
 function RealGetWindowClass(Wnd : HWND;ClassnameBuffer : pwidechar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassW';
 function RealGetWindowClass(Wnd : HWND;ClassnameBuffer : pwidechar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassW';
+function RegisterDeviceNotification(hRecipient:THandle;NotificationFilter:pointer;Flags:DWORD ):HDEVNOTIFY; stdcall; external 'user32.dll' name 'RegisterDeviceNotificationW';
 {$endif read_interface}
 {$endif read_interface}
 
 
 
 

+ 1 - 0
rtl/win/wininc/unifun.inc

@@ -499,6 +499,7 @@ function GetConsoleAliasExesW(ExeNameBuffer:LPWSTR; ExeNameBufferLength:DWORD):D
 function GetComputerNameExW(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPWSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExW';
 function GetComputerNameExW(NameType:COMPUTER_NAME_FORMAT;lpbuffer:LPWSTR;nSize:LPDWORD):BOOL;stdcall;external 'kernel32' name 'GetComputerNameExW';
 function QueryFullProcessImageNameW(hProcess:THandle;dwFlags:DWord; lpexename :lpwstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameW';
 function QueryFullProcessImageNameW(hProcess:THandle;dwFlags:DWord; lpexename :lpwstr;lpdwsize:pdword):BOOL; stdcall; external 'kernel32.dll' name 'QueryFullProcessImageNameW';
 function RealGetWindowClassW(Wnd : HWND;ClassnameBuffer : pwidechar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassW';
 function RealGetWindowClassW(Wnd : HWND;ClassnameBuffer : pwidechar;ClassnameBufferSize : DWORD): DWORD; stdcall; external 'user32.dll' name 'RealGetWindowClassW';
+function RegisterDeviceNotificationW(hRecipient:THandle;NotificationFilter:pointer;Flags:DWORD ):HDEVNOTIFY; stdcall; external 'user32.dll' name 'RegisterDeviceNotificationW';
 {$endif read_interface}
 {$endif read_interface}