????? ????? Thunks ????

?????? ????????? ?????? ?????????
???? ???????: 133722 - ??? ???????? ???? ????? ????? ??? ???????.
????? ???? | ?? ????

?? ??? ??????

??????

????? ??????? ???? ?? ??????? ?????? ?????? ??????? ??????? thunk thunks ???? ???? ?? ???? ?? ????? ??? ???? thunk ???? ??????? ????? ????? ??????? ????? ??? ???? ???? thunks ????? ?? ???????. ???? ??? ??????? ?????????? ????? ??????? thunks ???? ??? ????? ??????? ??????? ???? ??????? ??????? ???????? ???? ????? ????? ?????? ?? ?????? thunking ???????.

??????? ????

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

??? ?????? ?? ????? thunks ? ?? ?? ???????? ???? ??? ?????? ??? ?? ?? ??? ???? ?????? DLL ???? thunk. ???? ???? ????? ????? ??? Win16 ??????? DLL ???????? ??? Win32 ??? ????? ???????? ??? Win32; ????? ????? ????? ??? Win32 DLL ???????? ??? Win16 ??????? ????? ??? ???????? ??? Win16. ???? ????? ??????? ?????:

  • ?? ???? ????? ?????? ??????? ???? thunk ?? ????? ????? ??? Win16 DLL ???????? ??? Win32.
  • ??? ?? ????????? ???????? ???? DLLs ???????? ??? Win32 ????????? ?????? thunks ????? ????? ???? ????? ???? ???????? ???????? ??? Win16 ????????? ?????? ???? ????? ?? ??????? Win32.
  • ??? ?? ?? thunk DLLs ???????? ??? Win16 ???? ????? ??? ??????? ???? ???????? (ISRs) ??? ???????? ??? Win32 DLLs ????? ?????? ?????????.
  • ?? ??? ?? ????????? ???????? ??? Win32 ????? ?????? ??? ???????? ???????? ?? ???? ????? ??????? ??????? thunks ?? ??????? DLLs ???????? ??? Win16 ??????? ??????.

????? ??????? Thunks ???? ???? ?? ????

????? thunks ???? ???? ?? ????? ?????? ???? ???? thunk ???? ????? ????? ?? Windows kernel. ????????? ???? ??????? ?????? ?? ?? ??????? ???? ??? ????? ????????? ???? ?? ????????? ???????? ???????? ??? 32-?? ?????? ?? ?????? ??? 16 ?? ??????. ??? ??? 32 ?? ?????? ????? ?????? ?????? ????? CPU ??????? ?? ?????? ??? 16 ??? ???? thunk ???? ??? ????? ?????? ?????? ??????? ?????? ? ????? ??? ???????. ?? ????? ???? ??? ??? ?? ???? ??? Win32 preemptive ??????? ????????? ???????? Win16 ??? preemptive. ???? ?????? ??????? ??????? thunk thunks ???? ????? ???? ????? ?? ?????? ?????? ??????? ???? ??? ??????.

????? thunks ???? ??? ???? ??? ??? ???? ???? ?????? ???? ????? ??? ????? ????? ??????? ???????? ?? ????? ???????. ????? ??????? debuggers ??? ?? ???? ?????? Microsoft Visual C++ ? WinDBG ???? thunks ??? ????? ?? ????????? ???????? ?? ?? 32 ?? ? 16-?? ??? ???? ??? ???????? ?? ???? Win16Mutex ?? ??????. ????? ???? thunk ? ????? ??? ??????? ???? ????? ????? ?????? ??? WDEB386.EXE. ??? ???? ???????? ???????? WDEB386.EXE ????? ??? ?????? ??? ??????? Intel x 86 ????? ??? ???? ????????? ??????? Intel x 86 ????? ?????? ???? ??????? ???????.

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

?????????? ???? ??????? thunks ?? ?????? conquer ???? ?? ????? ?????? ? ??? ???? ??????? ??? ?? ????? ??? ???? ???? ????????? ???????? ??? ??????? ?? ???? ????? ????? ??????. ??? ???? thunks ???? ?? DLL ???????? ??? Win32 DLL ???????? ??? Win16 ???? ???? ?????? ?? ?? ??? ?? ??? ??? ?????? ????. ????? ????? ????? ??? Win16 ??????? DLL ???????? ??? Win16 ?? ????? ????? ????? ??? Win32 ??????? DLL ???????? ??? Win32. ???? ?????? ???? ???? ?? ??????? ?????? ?????? ?? ????? ??????? ?????? ?? ?? ?? ???? ???? ???? ????.

????? ?????? ??????? - ??? ??????? ??????? ?? ?????? ??????? Thunk

????? ?? ?????? ?? ?? ?? ???? ???? ???? ???? ??? ????? ???? ??????? ???? ??????? thunk ????. ??? ??????? ??????? thunk ?? ?????? ??????? ??????? thunk ? ???? ?? ?????? ?????? ?? ??????? ???????:
  1. ?? ???????? ????? ????? thunk ???? ?? ?? ?? ???? ????? ?????? ?????? ????????. ????? ????? ?? ?? ????? ???????? ???? ?????? ?????? ??????? ??????? thunk. ??? ?? ??? ? ??? ????? ??????? ?? ?????? ???????? ?? ??? ??????.
  2. ??? ??? ?????? ?? ????? ??????? ???? ?? ??????? ??? ???? ??? ?? ????? ?? ???? ????? Win32 DLL ???????? ??? Win16 DLL ? thunk ???????? ?????. ????? ???? ????? ?? ??? ??????? ??????? C++/C ? ?? ??? ??????? thunk ?????? ??????? ???????. ???? ?? ??? ????? ????? ??????? thunk ??????? ?????? 16-?? ? ??????? ?????? 32-??.
  3. ???? ?? ?? ????? ???? thunking ??? ????? ???? ???? ???????? PASCAL ??????? ?????? ??? ???? 16 ?? ?? _stdcall ??? ???? 32-??. ?? ????? ?????? ??????? ??????? thunk _cdecl ? __fastcall ??????? ????????.
  4. ???? ?? ?? DLL ????? ?? ???? ????? Win32 ?????? ThunkConnect32() ?? ?? ??? ??? ??????? ?????? DllMain() ??. ???????, ???? ?? ???? DLL ???????? ??? Win16 ??????? DllEntryPoint() ???? ? ?????? ?? ?? LibMain() ???? ?????? ThunkConnect16() ?? ???? ?????? TRUE ??? ??? ThunkConnect16().

    ??????: ????? ?????? ??????? XXX_ThunkConnect16() ? XXX_ThunkConnect32() ??? ???? XXX ????? ????? ?? ??? ??????? -t ??????? thunk. ?????? ???????? ???????? ???? ?? ??????? ?????? ?????? ??????? ??????? thunk ??? ?????? ?????? ??????? ???? ?????? ThunkConnect16() ? ThunkConnect32.
  5. ???? ?? ?? ?????? ??????? ?? ??????? thunk ??? ??????? -t ??? ??????? ?? ???? Win32 ? DLLs thunk Win16. ??? ????? ?????? ?? ?????? ??????? ????????? ThunkConnect ?? DLLs Win16 ? ???????? ??? Win32 (???? ???????? ?? ?????? 4).
  6. ???? ?? DLL ???????? ??? Win16 ??? DLLEntryPoint ????? ?????? ?????? ???????? RESIDENTNAME ?? ??? ????? (.DEF) ?????? ??????? ?????? ??. ??? ?????? ???????? RESIDENTNAME ???? ??????? ThunkConnect32/ThunkConnect16 ?? ?? ??? ????? ?????? ???????? ?????? (DLL).
  7. ???? ?? DLL 16-?? ??? XXX_ThunkData16 ????? ?????? ?????? ???????? RESIDENTNAME ?? ??? ????? (.DEF) ?????? ??????? ?????? ??.
  8. ???? ?? makefile ????? ?? ????? ??? Win16 DLL ????? ??? ?? ?????? ??????? ?????? ?? ????? DLL 4.0. ??? ?? ??? ????? ??? ?? 4.0 ? ???? ?? ??? ????? ?????? thunk.
  9. ??? ???? ?????? thunk 32-?? ??? 16-?? ???? ? ???? ?? ?? ????? ??????? ?? ??? ????? ??? 16-?? ? 32-?? ????? thunk. ?? ???? ?????? ??? ????? ??????? ?? ??????? thunk ?????? ????? ??? ???? ? "?? ???? ????? ???????? ??? ????? ??? ???????." ???? ????? ????? ??? ?? ??? ??????? ?????? ???? ??? ??? ?????? ????? ???? ????????. ??? ???? ??????? ?? ???? ????? thunk ???? ??? Int ??? Int ????? ???? ??? ?????? 16-?? ???? ????? ?????? ?????? ??? ?????? 32-??. ????? ??? ??????? ????? thunk ?? ???? ??? Int ??? ???? ????? ?? ???????? ????? thunk "?" ????????? ???????? ?????? ?? DLLs Win16 ? ???????? ??? Win32.

    ??? ??? ?????? thunk 16 ?? ??? 32-?? ???? ???? ??? ????, ?? ?????? ??????? thunk ?????? ???? ????? ?????, ""????? ?????? ?? ?? ??? ?????." ?? ???? ?????? ??????? ??????? thunk thunks 16 ?? ??? 32-?? ?????? ????? ???????? ??? ????? ???? thunk ?? ???? 32-??, ?????? ?? ???? ??? ???????? ?? ????? ????? ??????? ???????? ??? Win32 ??????. ???? ???? ??????? ?????? ?????? ??? ?????? ???????? ????? ???????? ???????? ??? Win32 ????? ????? ?? ???? preemptively.
  10. ?? ???? ?????? linker ??? "unresolved ????????" ??? ????? ?? ??? ???? ?? ????? ???? ?????? ???? ???? ????????? ???????? ?????? "?" ????? ????? ?????? ??????? "?" ???????? ????? thunk ???? ?? ?? ???? ??????? ??????? ?????? ????? ?? ???????. ??? ?????? Win32 ??? ????? ?????? thunk ?? ??? __stdcall; ??? ?????? Win16 ??? ????? ?????? ?? ??? PASCAL. ?? ?????? C++ ? ???? ?? ???? ?????? ?? ?? ???? ?????? thunk ?????? ?? ???? ??? "C" extern ???????? ??? __stdcall ?? ??? PASCAL.

?????? trouble-Shooting - ??? ??????? ??????? ?? ?????? ??????? Thunk

??? ?????? ?? preliminaries ????? thunk DLLs ?????? ?? ?? ???? ???????. ??? ???? ???? ??? ?????? ?? ???????? ???? ?????? ?? ???? ??? ???? ???. ?? ???? ??? ??????? ??????? ???? ??????? ??????? ???????? ??????? ?????? ??? ??????? ????????.

??? ThunkConnect16() ?? Win16 ?? ThunkConnect32() ?? ?????? Win32:

  1. ????? ??????? ??????? ???? DLLs. ????? ??????? ????? ??????? ?? KERNEL32.DLL KRNL386.EXE ??? ?????? ?? ????? ??????? ????? ????? ?? ??? ????? thunk. ?????? ??????? ????? ??????? ???? DLLs ?????? ??? "????? ??? ????? DLLs" ?? ????? "????" ??? ????? SDK Win32. ??????? "??????? ??? ????? ???? DLLs" ?????? ??? ??????? ??????.
  2. ???? ?? ?? DLL ???????? ??? Win16 ??????? ThunkConnect16() DLL ???????? ??? Win32 ??? ??????? ThunkConnect32() ???????. ??? ??? ??? ??? ????? ?? ????? ????? ?????? thunk DLLs ?????.
  3. ?? ???? ?????? ?? DLL Win32 DllMain() ?? ?? DllEntryPoint() DLL Win16 ? LibMain() ????? ????? ??????? DLLs ???? ??.
??? ??? ??????????? ThunkConnect16() ThunkConnect32() ???? ???? ???? ???? ?? ???? ??? thunk ? ??? ????? ?????? thunk ????? ??. ???? ???? ?????? ?????? ??? ????????. ???? ????? ??? ????? ?????? ????? ???????? ?? thunk ?????? ??? ????? ????? ????. ??? ??????? ????? thunk ???? ???? ?? ????? ??? ???? ?????? ??????? ???????:
  1. ????? thunk ????? ???????? ??? ??? ?????? ?? ???? ???? thunk ????? ???? ????. ???????? ????? thunk ????? ???? ?? ??? ???? ??????? ? ??? ??????. ??? ?? ???? thunk ????? ??? ????? ?? ???? ????? ??????? ????? ???? ?? ?? ???? ??????? ????? ???? ????. ?? ???? ?????? 2.
  2. ???? ?? ????? DLL ?? ???? ?????? ??? ??? DLL ????? ??? ?????? ?????. ??? ??? ??????? ?? ???? ??????? ?? ?????? ???? thunk ?? ????.
  3. ???? ?? ??? ?????? DLL ??? ?? ????? ?? ???? thunk ????? ????? ??.
????? ???? thunk ????? ???? ???? thunk ??????? ?? ???? ? ???? ??????? ???????:
  1. ????? ?????? thunk ????? ???? ?? ??? ?????? ??? ??? ???? ????? ?????. ??? ??? ??? ???? ?? ?? ??????? ?? ??? ?????? ??????? ?? ?????? ? ????? ???????? ??? ??? ?????? ???????? ?? ??? DLLs ??? ??????? thunk ????? ?????? PASCAL ?? _stdcall.
  2. ??? ??? ????? ????? ?? DLL DLL ???????? ??? Win16 ?? ???? ?????? ??? ???????? ?????? ?? ?????? ?? ????? ???? ?? ????? ?????? ???? ????. ??? ??????? ??? ??????? /GD ?? Visual C++ ? ??? ?? ???? ?????? ?? ?????? ?????? ?????? ?????? ???????? __export ?? ????????? ???????? ?????? ?? DLL ???????? ??? Win16. ??? ??? ??? ?????? ?? ??? ????? (.DEF) ?????? ??????? ????? DLL ??? ????? ???? ?????? ??????? ?? ?????? ????? .DEF ??? ???? ?? ?????? ?? prolog ?????? ??? epilog ????? ?????.
  3. ??? ????????? LocalAlloc() ?? ????? ?? ????? ???????? ??? Win16 DLL ????? ????? ??? (GP) ???????? ???? ?? ?? ??? ????? ?????? ??? ?? ???? ?? ?????? 2.
  4. ??? ????? ??? GP ?? KERNEL32 ??? ??? ????? ????? ?? ????? ??? Win16 ?????? ? ???? ?? ?? ????? ?????? ????? ??? ????? ??? PASCAL. ?? ???? ??????? ?????? ??????? C. ??? ????? ?? ?????? ?? ??? C ?? C++ ???? ?????? ?? ??? ??????? ???? ?? ?? ?????? ????? ?? ????? ??????? DS ?? SS BP SI ?? DI.
  5. ??? ????? ??? GP ?? thunk 32-?? ????? ?? DLL ?? KERNEL32 ?????? ??? ????? ????? ?? ???? ????? Win32 ?????? ????? ???? ?? ????? ???? ????? ?? _stdcall ?? ????? ??????? DS ES ? FS ? SS ? EBP ? EBX ? ESI ?? EDI. ??? ?? ?? ???? ??? C ?? C++ ????????? ??? ????? ???? ??? ???? ??? ??? ??????? ??????.
  6. ??? ??? ??????? ????? ?? Win16 ??? ????? ?????? ??? ???? ??? ???? ???? ?? ????? ????? ????? ??? FAR. ??? ??? ???? ??? DLLs ???? ????; ??????? ?? DLL ?????? ????? ????? FAR ???? ???????.
  7. ?? ???? ?????? ??? GP ?? ???? ???????? ??? Win16 ??? ?????? ??? ???? ?? 64 ???? ???? ?? ???????? ?? ???? ?????? ?????? (??? ???? thunked) ? ????? ??? ????? ???? ?????? ????????? ??? ?? ???? ?? ??????? ??????? ?? "????? ??????? ?? Microsoft:
    132005DOCERR: ?? ????? ????? AllocSelector & FreeSelector
    ??? ?????? Win16 ?????? thunked ????? ????? ?? ???? ???? ?? ?? 64 ? ???? ???? ??? ?? ???? ????????? ?? ?????? ???? ????. ???? ?????? ?????? ???????? ?????? ?????? ????? ?????? ???????? ??? Win16 ????? DLL - ???? ??? ?? ???? ???? ?????? ???? ?????? ????????? ???? ?? ???? ?????? ??????? ?????? ???? ???? ?????? ??? ????????.
  8. ???? ?? ??????? ???? thunked ??? ?? ?????? thunk. ??? ????? ?????? ????? ?? ??? ?????? ??????? ??????? thunk ????????? ?????? ???????? ??? Win16 ????? ????? ????? thunk.
  9. ??? ???? ?????? ?? ????? ????? ????? ????? ?? ?????? ?? ???? ?????. ??? ???, ? ?? ?????? ?????? ????? ???? ????? ?? thunk ???? ????? ???? ????? ? ?? ???? ??? ???? ?? ????? ?? ????? ??? ?? ??? ?????? ?? thunk ?? ?????? ??? ????? ??? ?????. ?????? ?????? ???????? 7 ? 8.

???????

???? ???????: 133722 - ????? ??? ??????: 05/????? ???????/1426 - ??????: 2.3
????? ???
  • Microsoft Platform Software Development Kit-January 2000 Edition, ????? ?????? ??:
    • Microsoft Windows 95
    • Microsoft Windows 98 Standard Edition
    • Microsoft Windows Millennium Edition
????? ??????: 
kbmt kbhowto kbkernbase kbprogramming KB133722 KbMtar
????? ????
???: ??? ????? ??? ?????? ???????? ?????? ????? ???? ????? ?????????? ????? ?? ????????? ?????? ????. ???? ???? ?????????? ???? ?? ???????? ???????? ?????? ????????? ????? ????????? ???????? ????? ???????? ?????? ?? ?????? ??? ?? ???????? ???????? ?? ????? ??????? ?????? ??? ??????? ?????? ??. ?????? ?? ???? ??? ??????? ???????? ????? ?? ???? ????? ?????? ??? ????? ??? ????? ??????? ?? ????? ?? ?????? ??? ??? ??????? ??????? ?? ????? ????? ????? ????? ?????. ?? ????? ???? ?????????? ??????? ??? ????? ?? ??????? ?? ????? ?????? ?? ??? ????? ?? ????? ??????? ?? ???????? ?? ??? ???????. ???? ???? ?????????? ???????? ??? ????? ?????? ??????? ??????
???? ??? ????? ??????? ?????? ??????????133722

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

 

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