INFO: Rundll Windows ?????? Rundll32

?????? ????????? ?????? ?????????
???? ???????: 164787 - ??? ???????? ???? ????? ????? ??? ???????.
????? ???? | ?? ????

?? ??? ??????

??????

???? ??????? Microsoft Windows 95 ? Windows 98 ? Windows Millennium Edition (Me) ????? ??? ?????? ???????? ???? ??????? ???????? ?????? Rundll.exe ? Rundll32.exe ???? ???? ?? ??????? ???? ?? ??????? ?? DLL 16 ?? ?? 32-??. ??? ???? ?? ??? Rundll ?????? Rundll32 ???? ??????? ??????? ??? ???? ?? ??????? ?? ??? DLL. ??? ???? ??????? ?? ????? ??????? ??? ??????? ?????? ???????? ??????? ????????? Win32 API (????? ????? ???????) ??????? ?? ?????? DLLs. ?????? ??????? ??? ??????? ??????? ?? DLL ???? ??? ??????? ???? ???? ???? ????????? ?????? ?????. ???? ??? ??????? ?????? ?? ???????? ??? ??????? Rundll ?????? Rundll32 ??? ????? ????? Windows ???????? ?????.

Microsoft Windows NT 4.0 ? Windows 2000 ? Windows XP ??????? ?? Rundll32 ???. ?? ???? ?? ??? ?? Rundll (?????? ???????? Win16) ??? ?????? ??????? ???.

?? ????? ????? ?????? ???????? Rundll Rundll32 ????? ??? ????????? ??????? ?? Microsoft. ???? ??????? ??????? ?? ??? ??? ???? ??? ?? ??? ?? ?????? ???? ????????? ?????. ???? ?? Windows NT 4.0 ??????? ??? ?? ?????? ???? ?????? Rundll32 ???? Rundll32 ???.

??????? ????

Rundll ????? Rundll32

Rundll ????? ?????? DLLs 16-?? ????? Rundll32 ?????? ????? DLLs 32-??. ??? ??? ?????? ??? ???? ?? DLL Rundll ?? Rundll32 ?? ???? ?????? ???? ???? ??? ?? ????? ???.

??? ??????? Rundll

??? ??????? Rundll ??? ???:
   RUNDLL.EXE <dllname>,<entrypoint> <optional arguments>
				
???? ??? ???:
   RUNDLL.EXE SETUPX.DLL,InstallHinfSection 132 C:\WINDOWS\INF\SHELL.INF
				
???? ????? 3 ???????? ?????? ?? ??? ??????? ?????:
  1. Rundll ?? Rundll32 ???? ?? ??? ??? DLL ?????? ?? ????? ???????? (???? ????? ?????? LoadLibrary() ?????? ??? ????????). ?? ???????? ????? ???? ???? ??? DLL ?????? ?? ?????? ??? ??????. ?????? ??? ???? ???????? ?????? ??? ??? ???? ????? ?? ??? ??? ???? ?????? ?? ???? ?? ?????? ??? ??????. ???? ???? ??? ???? ???? ??? ????? DLL ?? ?????? "C:\Program Files" ????? ?????.
  2. ?? ?? ????? ??? <dllname>?????? ?? ?????? ?? ?????? ????????. ??? ????? ?? ?????? ?????? Rundll ??? ???????.
  3. ?? ??? ??????? ????? ??????? (?) ??? <dllname>?? ??? ?????? <entrypont>????? ???????. ?? ???? ????? ?????? ??????? Rundll ?? Rundll32 ????? ??? ???? ??? ?? ?????. ???????? ??? ???? ?? ???? ???? ??? ?????? ????? ??? ?? <dllname>??????? ??????? <entrypoint>.

????? ??? Rundll

Rundll ?????? ??????? ???????:
  1. ???? ??? ??? ???????.
  2. ????? DLL ?????? ?????? LoadLibrary().
  3. ???? ??? ????? ?????? <entrypoint>??? GetProcAddress().
  4. ?????? ?????? <entrypoint>????? ???? ??? ??????? ??? < ?????? ???????? >.
  5. ????? ???? ?????? <entrypoint>unloads Rundll.exe DLL ? ?????.

????? ????? ???? DLL

DLL ????? ?? ????? ?????? <entrypoint>?? ??????? ?????? ???????:

DLL 16 ??:

  void FAR PASCAL __loadds
  EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
				
DLL 32-??:
  void CALLBACK
  EntryPoint(HWND hwnd, HINSTANCE hinst, LPSTR lpszCmdLine, int nCmdShow);
				
???????? ? ???? ?????? 3 ?? ???????? ?? ?????? ???? ??????:
  1. obviously ? ??? ?? ??? ??????? ??? "????" ????? ?????? ?????? ???? ???????. ?????? ???? ??????? ????? Rundll32 ??? ????? ??????? ?????? DllEntryPoint ?? DLL 32-?? ?? ????? ????? ? ???? ????? ?????/??? ?????????.
  2. ??? ?? ??? ????? ?????? ???? ????? ?? Rundll32 ???????? _stdcall ??????? ?????? (????????? ?? ??????? ???????? ????? _stdcall). ?? ???? ????? ????? _stdcall ????????? _cdecl ?????? ??????? ?????? ?? ?? Rundll32 ???? ????? ???? ??? ????? ??? ??????? ??????.
  3. ??? ??? ?? ???? ?????? ?????? ?? _stdcall ??????? ?????? ??? ?? ???? ????? ???? ??? ?????? ??????? ?? _EntryPoint@16 ??? ????? DLL ?? C ?????? ??????? ??????? Visual C++ ?? ??????? ?????? ????? ??? ??? ????? DLL ?? C++. ???? ???????? ?? ??????? ????? ???? ?? ?????? ???? ???? ?? ??? ??????? Rundll ?? Rundll32. ??? ??? ???? ???? ??????? ????? ????? ?? ??????? ??? .def ?????? ?????? ???? ????? ??? ?????. ?????? ?????? ??? ????? ?????? ? ??????? ????? ??? ??????? ??? ???????? ?????? ??? ???? ?? ????????? ??? ??? ????? ??? ??????? compilers Visual C++:
    140485????? ???? Like PASCAL ?? DLLs 32-??
?????? ???? ??????? Rundll ???????:
   hwnd - window handle that should be used as the owner window for
          any windows your DLL creates
   hinst - your DLL's instance handle
   lpszCmdLine - ASCIIZ command line your DLL should parse
   nCmdShow - describes how your DLL's windows should be displayed
				
?? ?????? ??????:
     RUNDLL.EXE SETUPX.DLL,InstallHinfSection 132 C:\WINDOWS\INF\SHELL.INF
				
Rundll ?? ??????? ???? ???? ?????? InstallHinfSection() ?? Setupx.dll ???????? ???????? ???????:
   hwnd = (parent window handle)
   hinst = HINSTANCE of SETUPX.DLL
   lpszCmdLine = "132 C:\WINDOWS\INF\SHELL.INF"
   nCmdShow = (whatever the nCmdShow was passed to CreateProcess)
				
<entrypoint> ????????? ?? ?????? < ???? ?????? > (?? InstallHinfSection() ?? ?????? ?????) ?? ????? ??? ??????? ?????? ?? (lpszCmdLine ??????? ?????) ?? ?????? ???????? ??????? ??? ??????. ???? Rundll.exe ??? ??? ??????? ?????????? ???? ?? ??????? ??? ??? ??????? ?????? ??. ???? ??????? ??? ?????? <entrypoint>.

??????? ???? ??? ?????????? ??? ???? ??????? Windows 95 ? Windows NT

?? Windows NT ? Windows 2000 ? Windows XP ?????? Rundll32.exe ?????? ?????? ? ??????? UNICODE ???? ???????.

Windows NT ????? ????? ??? GetProcAddress ?? <entrypoint>??? ??? ?? ?????? ??? ???? ??????? ??? ?? ??????? ?????? ????? ?? ????:
   void CALLBACK
   EntryPointW(HWND hwnd, HINSTANCE hinst, LPWSTR lpszCmdLine,
               int nCmdShow);
				
??? ?? ??? ???? ANSI ???? ??? ?? ??????? lpszCmdLine ???? ????? UNICODE.

??? ?? ??? ?????? ??? ???? ????? ????? <EntryPoint>?? ???? Windows NT GetProcAddress ?? <entrypoint>A ??? ??? <entrypoint>. ??? ?? ?????? ??? ??, ???? ????? ???? ????? ANSI ?? ??? ???????? ???? 98 Windows 95 Me. ????? ????? ??? ??? ???? DLL ??????? ??? Windows 95 ?? ??? ANSI ??? 2000 NT Windows XP ?? ??? UNICODE ??? ????? ????? ?????: EntryPointW ? ????. ??? Windows NT/2000/Me ? ??? ??? ??????? ?????? EntryPointW ?? ??? ????? UNICODE; ?? ???? ??????? Windows 95/98/Me ? ???? ????? ?????? ???? ?????? ???? ??????? ANSI.

???????

???? ???????: 164787 - ????? ??? ??????: 30/????/1427 - ??????: 4.4
????? ???
  • Microsoft Win32 ????? ????? ???????, ????? ?????? ??:
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
    • Microsoft Windows NT 4.0
    • the operating system: Microsoft Windows 2000
    • the operating system: Microsoft Windows XP
????? ??????: 
kbmt kbdll kbfaq kbinfo kbkernbase kbprogramming kbusage KB164787 KbMtar
????? ????
???: ??? ????? ??? ?????? ???????? ?????? ????? ???? ????? ?????????? ????? ?? ????????? ?????? ????. ???? ???? ?????????? ???? ?? ???????? ???????? ?????? ????????? ????? ????????? ???????? ????? ???????? ?????? ?? ?????? ??? ?? ???????? ???????? ?? ????? ??????? ?????? ??? ??????? ?????? ??. ?????? ?? ???? ??? ??????? ???????? ????? ?? ???? ????? ?????? ??? ????? ??? ????? ??????? ?? ????? ?? ?????? ??? ??? ??????? ??????? ?? ????? ????? ????? ????? ?????. ?? ????? ???? ?????????? ??????? ??? ????? ?? ??????? ?? ????? ?????? ?? ??? ????? ?? ????? ??????? ?? ???????? ?? ??? ???????. ???? ???? ?????????? ???????? ??? ????? ?????? ??????? ??????
???? ??? ????? ??????? ?????? ??????????164787

????? ???????

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com