рд╡рд┐рдВрдбреЛрдЬ рд╡рд╛рд╕реНрддрд╡рд┐рдХ рд╕рдордп рд╕реНрдореГрддрд┐ рдкреНрд░рдмрдВрдзрди

рд╣рд╛рд▓ рд╣реА рдореЗрдВ, рд░реЗрдордВрдб рдЪреЗрди рдиреЗ рдбреЗрдврд╝ рд╕рд╛рд▓ рдкрд╣рд▓реЗ рдкрджреЛрдВ рдХреА рдПрдХ рд╢реНрд░реГрдВрдЦрд▓рд╛ рдкреВрд░реА рдХреА, рдЬреЛ рдкреНрд░реЛрд╕реЗрд╕рд░ рд╕реЗ рдХрд┐рд╕реА рднреА рд╕рдорд░реНрдерди рдХреЗ рдмрд┐рдирд╛ рд╡рд░реНрдЪреБрдЕрд▓ рдореЗрдореЛрд░реА рдХреЛ рдкреНрд░рдмрдВрдзрд┐рдд рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рд╕рдорд░реНрдкрд┐рдд рд╣реИ: рд╡рд┐рдВрдбреЛрдЬ рд╕рдВрд╕реНрдХрд░рдг 3.0 рддрдХ рд╕рдорд╛рд╡реЗрд╢реА рд╕рдорд░реНрдерд┐рдд рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдореЛрдб 8086ред рдЗрд╕ рдореЛрдб рдореЗрдВ, рдкрддреЗ рдХреЛ "рд╡рд░реНрдЪреБрдЕрд▓" (рджреГрд╢реНрдпрдорд╛рди рдкреНрд░реЛрдЧреНрд░рд╛рдо) рд╕реЗ рднреМрддрд┐рдХ рдореЗрдВ рдЕрдиреБрд╡рд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред (рд╕рд┐рд╕реНрдЯрдо рдмрд╕ рдкрд░ рдЬрд╛рд░реА) рдЦрдВрдб рдФрд░ рдСрдлрд╕реЗрдЯ рдХреЗ рд╕рд░рд▓ рдЬреЛрдбрд╝ рджреНрд╡рд╛рд░рд╛ рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ - рдХреЛрдИ "рдЕрднрд┐рдЧрдо рдирд┐рдпрдВрддреНрд░рдг", рдХреЛрдИ "рдЕрд╡реИрдз рдкрддреЗ" рдирд╣реАрдВред рд╕рднреА рдкрддреЗ рд╕рднреА рдХреЗ рд▓рд┐рдП рдЙрдкрд▓рдмреНрдз рд╣реИрдВред рдЙрд╕реА рд╕рдордп, рдХрдИ рдкреНрд░реЛрдЧреНрд░рд╛рдо рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдПрдХ рд╕рд╛рде рдХрд╛рдо рдХрд░ рд╕рдХрддреЗ рдереЗ рдФрд░ рдПрдХ рджреВрд╕рд░реЗ рдХреЗ рд╕рд╛рде рд╣рд╕реНрддрдХреНрд╖реЗрдк рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ; рд╡рд┐рдВрдбреЛрдЬ рдореЗрдореЛрд░реА рдореЗрдВ рдЕрдкрдиреЗ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдЕрдкреНрд░рдпреБрдХреНрддреЛрдВ рдХреЛ рдЕрдирд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЖрд╡рд╢реНрдпрдХ рд░реВрдк рд╕реЗ рд╡рд╛рдкрд╕ рд▓реЛрдб рдХрд░ рд╕рдХрддрд╛ рд╣реИ, рд╕рдВрднрд╡рддрдГ рдЕрдиреНрдп рдкрддреЗ рдкрд░ред

(рджрд┐рд▓рдЪрд╕реНрдк рдмрд╛рдд рдпрд╣ рд╣реИ рдХрд┐ рдЗрди рд╡рд┐рд▓рдХреНрд╖рдг рдХреНрд╖рдорддрд╛рдУрдВ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирдиреЗ рдХреЗ рд▓рд┐рдП, рдХрднреА-рдХрднреА рдореМрдЬреВрдж рд╣реЛрд▓рд┐рд╡реЛрд░реНрд╢рд┐рдХреА "рдпрд╣ рдПрдХ рдЧреНрд░рд╛рдлрд┐рдХрд▓ рд╢реЗрд▓ рдерд╛, рдСрдкрд░реЗрдЯрд┐рдВрдЧ рд╕рд┐рд╕реНрдЯрдо рдирд╣реАрдВ рдерд╛?")

рдФрд░ рдЙрд╕рдиреЗ рдХреИрд╕реЗ рдкреНрд░рдмрдВрдзрди рдХрд┐рдпрд╛?

рдбреЗрдЯрд╛ рдкреНрд░рдмрдВрдзрди


рд░рд┐рдпрд▓-рдЯрд╛рдЗрдо рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдХреЛрдИ рд╕реНрд╡реИрдк рдирд╣реАрдВ рдерд╛ред рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рд╕рдВрд╕рд╛рдзрди) рдмрд╕ рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рдереЗ рдФрд░ рдпрджрд┐ рдЖрд╡рд╢реНрдпрдХ рд╣реЛ, рддреЛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рдлрд┐рд░ рд╕реЗ рд▓реЛрдб рдХрд┐рдпрд╛ рдЧрдпрд╛ред рдЪрд░ рдбреЗрдЯрд╛ рдЕрдирд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди (рдХрд┐рд╕реА рднреА рдЕрдиреНрдп рдбреЗрдЯрд╛ рдХреА рддрд░рд╣) рдХреЛ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдкрддреЛрдВ рдХрд╛ рдЙрдкрдпреЛрдЧ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рд╕рдВрднрд╛рд▓рддрд╛ рд╣реИ; рдФрд░ рдбреЗрдЯрд╛ рддрдХ рдкрд╣реБрдВрдЪрдиреЗ рдХреЗ рд╕рдордп рдХреЗ рд▓рд┐рдП, рдпрд╣ рдмреНрд▓реЙрдХ рдХреЛ "рдареАрдХ" рдХрд░рддрд╛ рд╣реИ, рдЕрдкрдирд╛ рдкрддрд╛ рдкреНрд░рд╛рдкреНрдд рдХрд░рддрд╛ рд╣реИ, рдФрд░ рдлрд┐рд░ рдЗрд╕реЗ "рдЬрд╛рд░реА" рдХрд░рддрд╛ рд╣реИ рддрд╛рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдЖрд╡рд╢реНрдпрдХ рд╣реЛрдиреЗ рдкрд░ рдЗрд╕реЗ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдХрд░ рд╕рдХреЗред рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдПрдХ рджрд░реНрдЬрди рд╕рд╛рд▓ рдмрд╛рдж .NET рдореЗрдВ рджрд┐рдЦрд╛рдИ рджрд┐рдпрд╛, рдЬрд┐рд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд╣реА рдкрд┐рдирд┐рдВрдЧ рдХрд╣рд╛ рдЬрд╛рддрд╛ рд╣реИред

GlobalLock / GlobalUnlock рдФрд░ LockResource / FreeResource рдХреЛ рдЙрди рдкреНрд░рд╛рдЪреАрди рд╕рдордп рдХреЗ рд╕рд╛рде рд╕рдВрдЧрддрддрд╛ рдХреЗ рд▓рд┐рдП FreeResource рдореЗрдВ рд╕рдВрд░рдХреНрд╖рд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХ (рд╕рдВрд╕рд╛рдзрдиреЛрдВ рд╕рд╣рд┐рдд) рдХреЛ рдХрднреА рднреА Win32API рдореЗрдВ рд╕реНрдерд╛рдирд╛рдВрддрд░рд┐рдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

LockSegment рдФрд░ UnlockSegment (рдкрддреЗ рдХреЛ UnlockSegment / рдлрд╝реНрд░реА рдореЗрдореЛрд░реА рдХреЛ рд╣реИрдВрдбрд▓ рджреНрд╡рд╛рд░рд╛ рдирд╣реАрдВ, UnlockSegment рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП) рдХреБрдЫ рд╕рдордп рддрдХ "рдЕрдкреНрд░рдЪрд▓рд┐рдд, рдЙрдкрдпреЛрдЧ рди рдХрд░реЗрдВ" рдЪрд┐рд╣реНрдирд┐рдд рдХрд┐рдП рдЧрдП рджрд╕реНрддрд╛рд╡реЗрдЬрд╝ рдореЗрдВ рд░рд╣реЗ, рд▓реЗрдХрд┐рди рдЕрдм рдЙрдирдХреЗ рдкрд╛рд╕ рдХреЛрдИ рдореЗрдореЛрд░реА рдирд╣реАрдВ рдмрдЪреА рд╣реИред

рдЬрд┐рди рд▓реЛрдЧреЛрдВ рдХреЛ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдореЗрдореЛрд░реА рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реЛрддреА рд╣реИ, рдЙрдирдХреЗ рд▓рд┐рдП рдПрдХ GlobalWire рдлрд╝рдВрдХреНрд╢рди рднреА рдерд╛ - "рддрд╛рдХрд┐ рдмреНрд▓реЙрдХ рдкрддрд╛ рд╕реНрдерд╛рди рдХреЗ рдмреАрдЪ рдореЗрдВ GlobalWire рди рдЬрд╛рдП, рдЗрд╕реЗ рдореЗрдореЛрд░реА рдХреЗ рдирд┐рдЪрд▓реЗ рдХрд┐рдирд╛рд░реЗ рдкрд░ рд▓реЗ рдЬрд╛рдПрдВ рдФрд░ рдЗрд╕реЗ рдареАрдХ рдХрд░реЗрдВ"; рдпрд╣ GlobalUnwire рдореЗрд▓ GlobalUnwire , рдкреВрд░реА рддрд░рд╣ рд╕реЗ GlobalUnlock рдмрд░рд╛рдмрд░ рд╣реИред рдлрд╝рдВрдХреНрд╢рдВрд╕ рдХреА рдпрд╣ рдЬреЛрдбрд╝реА рдЖрд╢реНрдЪрд░реНрдпрдЬрдирдХ рд░реВрдк рд╕реЗ, рдХрд░реНрдиреЗрд▓ 32.dll рдореЗрдВ рдЕрднреА рднреА рдЬреАрд╡рд┐рдд рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рдЙрдиреНрд╣реЗрдВ рдкрд╣рд▓реЗ рд╣реА рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИред рдЕрдм рд╡реЗ GlobalLock / GlobalUnlock рдлрд┐рд░ рд╕реЗ GlobalLock ред

рд╕рдВрд░рдХреНрд╖рд┐рдд рдореЛрдб рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ, GlobalLock рдлрд╝рдВрдХреНрд╢рди GlobalLock рдПрдХ "рд╕реНрдЯрдм" рдХреЗ рд╕рд╛рде рдмрджрд▓ рджрд┐рдпрд╛ GlobalLock : рдЕрдм рд╡рд┐рдВрдбреЛрдЬ рдЕрдкрдиреЗ "рд╡рд░реНрдЪреБрдЕрд▓ рдПрдбреНрд░реЗрд╕" рдХреЛ рдПрдкреНрд▓рд┐рдХреЗрд╢рди (рдЪрдпрдирдХрд░реНрддрд╛: рдСрдлрд╕реЗрдЯ) рдХреЗ рд▓рд┐рдП рджреГрд╢реНрдпрдорд╛рди рдмрджрд▓реЗ рдмрд┐рдирд╛ рдореЗрдореЛрд░реА рдмреНрд▓реЙрдХреЛрдВ рдХреЛ рдлреЗрд░рдмрджрд▓ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЛ рдЕрдм рдЧреИрд░-рдЕрдкрд▓реЛрдб рдХрд░рдиреЗ рдпреЛрдЧреНрдп рдСрдмреНрдЬреЗрдХреНрдЯ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рджреВрд╕рд░реЗ рд╢рдмреНрджреЛрдВ рдореЗрдВ, рдкрд┐рдирд┐рдВрдЧ рдЕрдм рдмреНрд▓реЙрдХ рдХреЛ рдЙрддрд╛рд░рдиреЗ рд╕реЗ рд░реЛрдХрддрд╛ рд╣реИ, рд▓реЗрдХрд┐рди рдЗрд╕реЗ (рдПрдкреНрд▓рд┐рдХреЗрд╢рди рдХреЗ рд▓рд┐рдП рдЕрджреГрд╢реНрдп) рдХреЛ рдмрдврд╝рдиреЗ рд╕реЗ рдирд╣реАрдВ рд░реЛрдХрддрд╛ рд╣реИред рдЗрд╕рд▓рд┐рдП, рднреМрддрд┐рдХ рд╕реНрдореГрддрд┐ рдореЗрдВ "рд╡рд╛рд╕реНрддрд╡рд┐рдХ рдХреЗ рд▓рд┐рдП" рдбреЗрдЯрд╛ рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП, рдЙрди рд▓реЛрдЧреЛрдВ рдХреЗ рд▓рд┐рдП рдЬрд┐рдиреНрд╣реЗрдВ рдмрд╕ (рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдмрд╛рд╣рд░реА рдЙрдкрдХрд░рдгреЛрдВ рдХреЗ рд╕рд╛рде рдХрд╛рдо рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рд╣реИ), рдЙрдиреНрд╣реЛрдВрдиреЗ GlobalFix / GlobalUnfix рдХреА рдПрдХ рдЬреЛрдбрд╝реА рдХреЛ рдЬреЛрдбрд╝рд╛ред GlobalWire / GlobalUnwire рддрд░рд╣, Win32 рдореЗрдВ рдпреЗ рдХрд╛рд░реНрдп рдмреЗрдХрд╛рд░ рд╣реЛ рдЧрдП рд╣реИрдВ; рдФрд░ рдЙрдиреНрд╣реЗрдВ рдЙрд╕реА рддрд░рд╣ рд╕реЗ рдкреНрд░рд▓реЗрдЦрди рд╕реЗ рднреА рд╣рдЯрд╛ рджрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рд╣рд╛рд▓рд╛рдВрдХрд┐ рд╡реЗ GlobalLock рдореЗрдВ рдмрдиреЗ рд░рд╣реЗ рдФрд░ GlobalLock / GlobalUnlock рдкреБрдирдГ GlobalLock ред

рдХреЛрдб рдкреНрд░рдмрдВрдзрди


рдпрд╣рд╛рдБ рд╕реЗ рдЯреНрд░рд┐рдХрд┐рдПрд╕реНрдЯ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИред рдХреЛрдб рдХреЗ рдмреНрд▓реЙрдХ - рд╕рд╛рде рд╣реА рдЕрдкрд░рд┐рд╡рд░реНрддрдиреАрдп рдбреЗрдЯрд╛ - рдореЗрдореЛрд░реА рд╕реЗ рд╣рдЯрд╛ рджрд┐рдП рдЧрдП рдереЗ, рдФрд░ рдлрд┐рд░ рдПрдХ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ рд▓реЛрдб рдХрд┐рдП рдЧрдП рдереЗред рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдиреЗ рдпрд╣ рдХреИрд╕реЗ рд╕реБрдирд┐рд╢реНрдЪрд┐рдд рдХрд┐рдпрд╛ рдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдЕрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдмреНрд▓реЙрдХреЛрдВ рдореЗрдВ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдХреЙрд▓ рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдирд╣реАрдВ рдХрд░рддреЗ рдереЗ? рд╣реИрдВрдбрд▓ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдлрд╝рдВрдХреНрд╢рди рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдирд╛ рд╕рдВрднрд╡ рд╣реЛрдЧрд╛, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ рдлрд╝рдВрдХреНрд╢рди рдХреЙрд▓ рд╕реЗ рдкрд╣рд▓реЗ, рдПрдХ рдХрд╛рд▓реНрдкрдирд┐рдХ LockFunction рдХреЙрд▓ рдХрд░реЗрдВ; рд▓реЗрдХрд┐рди рдпрд╛рдж рд░рдЦреЗрдВ рдХрд┐ рдХрдИ рдлрд╝рдВрдХреНрд╢рди "рд╕рдВрджреЗрд╢ рд▓реВрдк" рдХреЛ рдореЛрдбрд╝рддреЗ рд╣реИрдВ, рдЙрджрд╛рд╣рд░рдг рдХреЗ рд▓рд┐рдП, рдПрдХ рд╡рд┐рдВрдбреЛ рджрд┐рдЦрд╛рдПрдВ рдпрд╛ DDE рдХрдорд╛рдВрдб рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд░реЗрдВ, рдФрд░ рдЖрдк рдЙрдиреНрд╣реЗрдВ рдЗрд╕ рд╕рдордп рдХреЗ рд▓рд┐рдП рдЕрдирд▓реЛрдб рднреА рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ, рдХреНрдпреЛрдВрдХрд┐ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдЗрд╕ рд╕рдордп рдЙрдирдХреЗ рдХреЛрдб рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред рд╣рд╛рд▓рд╛рдБрдХрд┐, "рдлрд╝рдВрдХреНрд╢рди рд╣реИрдВрдбрд▓" рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддреЗ рд╕рдордп, рдлрд╝рдВрдХреНрд╢рди рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рддрдм рддрдХ рдореБрдХреНрдд рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЬрд╛рдПрдЧрд╛ рдЬрдм рддрдХ рдХрд┐ рдпрд╣ рдХреЙрд▓рд┐рдВрдЧ рдлрд╝рдВрдХреНрд╢рди рдкрд░ рдирд┐рдпрдВрддреНрд░рдг рд╡рд╛рдкрд╕ рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рд╡рд┐рдВрдбреЛрдЬ рдпрд╣ рдорд╛рдирдХрд░ рд╢реБрд░реВ рд╣реЛрддрд╛ рд╣реИ рдХрд┐ рдЖрдк рдХрд┐рд╕реА рднреА рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдЬреЛ рдЕрднреА рдирд╣реАрдВ рдЪрд▓ рд░рд╣рд╛ рд╣реИ; рдФрд░ рдЪреВрдВрдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рдореЗрдореЛрд░реА рдореИрдиреЗрдЬрд░ рдХреЛрдб рдЕрднреА рдЪрд▓ рд░рд╣рд╛ рд╣реИ, рдЖрдк рдХрд┐рд╕реА рднреА рдлрдВрдХреНрд╢рди рдХреЛ рдЕрдирд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред рдЗрд╕ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд▓рд┐рдВрдХ рдпрд╛ рддреЛ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдореЗрдВ рдпрд╛ рд╕реНрдЯреИрдХ рдкрд░ рдмрдиреЗ рд░рд╣ рд╕рдХрддреЗ рд╣реИрдВ рдпрджрд┐ рдпрд╣ рдлрд╝рдВрдХреНрд╢рди рдЕрдирд▓реЛрдбрд┐рдВрдЧ рдХреЗ рд╕рдордп рд╕реЗ рдкрд╣рд▓реЗ рд╡рд╛рдкрд╕ рдЖрдиреЗ рдХрд╛ рдкреНрд░рдмрдВрдзрди рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИред

рдЗрд╕рд▓рд┐рдП рд╡рд┐рдВрдбреЛрдЬ рд╕рднреА рдЪрд▓рдиреЗ рд╡рд╛рд▓реЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рдвреЗрд░ рд╕реЗ рдЧреБрдЬрд░рддрд╛ рд╣реИ (рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рддрдерд╛рдХрдерд┐рдд рдирд┐рд╖реНрдкрд╛рджрди рд╕рдВрджрд░реНрдн рдЬрдм рддрдХ рд╡реЗ рдкреНрд░рдХреНрд░рд┐рдпрд╛рдУрдВ рдФрд░ рдереНрд░реЗрдбреНрд╕ рдХреЛ рдЕрд▓рдЧ рдирд╣реАрдВ рдХрд░рддреЗ рд╣реИрдВ), рд░рд┐рдЯрд░реНрди рдкрддреЗ рдХреЛ рдЕрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдЦрдВрдбреЛрдВ рдХреЗ рдЕрдВрджрд░ рд▓реЗ рдЬрд╛рддрд╛ рд╣реИ, рдФрд░ рдЙрдиреНрд╣реЗрдВ рдкреБрдирдГ рд▓реЛрдб рдереНрд░реЙрдХреНрд╕ рдХреЗ рдкрддреЗ рдХреЗ рд╕рд╛рде рдмрджрд▓ рджреЗрддрд╛ рд╣реИ - "рд╕реНрдЯрдмреНрд╕" рдЬреЛ рд╡рд╛рдВрдЫрд┐рдд рдЦрдВрдб рдХреЛ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рд╕реЗ, рдФрд░ рдЙрд╕рдХреЗ рдЕрдВрджрд░ рд╕реНрдерд╛рдирд╛рдВрддрд░рдг рдирд┐рдпрдВрддреНрд░рдг, рдЬреИрд╕реЗ рдХрд┐ рдХреБрдЫ рднреА рдирд╣реАрдВ рд╣реБрдЖ рдерд╛ред

рддрд╛рдХрд┐ рд╡рд┐рдВрдбреЛрдЬ рд╕реНрдЯреИрдХ рдкрд░ рдЪрд▓ рд╕рдХреЗ, рдкреНрд░реЛрдЧреНрд░рд╛рдореНрд╕ рдХреЛ рдЗрд╕реЗ рд╕рд╣реА рдлреЙрд░реНрдореЗрдЯ рдореЗрдВ рд╕рдкреЛрд░реНрдЯ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП: рдиреЛ рдПрдлрдкреАрдУ, рд╕реНрдЯреИрдХ рдлреНрд░реЗрдо рдХреЛ BP - рдкреЙрдЗрдВрдЯрд░ рд╕реЗ рдХреЙрд▓рд┐рдВрдЧ рдлрдВрдХреНрд╢рди рдХреЗ рдлреНрд░реЗрдо рд╕реЗ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдПред (рдЪреВрдВрдХрд┐ рд╕реНрдЯреИрдХ рдореЗрдВ 16-рдмрд┐рдЯ рд╢рдмреНрдж рд╣реЛрддреЗ рд╣реИрдВ, BP рдорд╛рди рд╣рдореЗрд╢рд╛ рд╕рдорд╛рди рд╣реЛрддрд╛ рд╣реИред) рдЗрд╕рдХреЗ рдЕрд▓рд╛рд╡рд╛, рд╡рд┐рдВрдбреЛрдЬ рдХреЛ рд╕реНрдЯреИрдХ рдореЗрдВ рдЗрдВрдЯреНрд░рд╛-рд╕реЗрдЧрдореЗрдВрдЯ ("рдХреНрд▓реЛрдЬрд╝") рдФрд░ рдЗрдВрдЯрд░-рд╕реЗрдЧрдореЗрдВрдЯ ("рджреВрд░") рдХреЗ рдмреАрдЪ рдЕрдВрддрд░ рдХрд░рдирд╛ рдЪрд╛рд╣рд┐рдП, рдФрд░ рдпрд╣ рдХреНрд▓реЛрдЬрд╝ рдХреЙрд▓ рдХреЛ рдЕрдирджреЗрдЦрд╛ рдХрд░ рд╕рдХрддрд╛ рд╣реИ - рд╡реЗ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рдмрд┐рд▓реНрдХреБрд▓ рдЕрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рд╕реЗрдЧрдореЗрдВрдЯ рдореЗрдВ рдирд╣реАрдВ рдЬрд╛рддреЗ рд╣реИрдВред рдЗрд╕рд▓рд┐рдП, рдЙрдиреНрд╣реЛрдВрдиреЗ рддрдп рдХрд┐рдпрд╛ рдХрд┐ рд╕реНрдЯреИрдХ рдореЗрдВ BP рдХреЗ рд╡рд┐рд╖рдо рдореВрд▓реНрдп рдХрд╛ рдорддрд▓рдм рдПрдХ рджреВрд░ рдХреА рдХреЙрд▓ рд╣реИ, рдЕрд░реНрдерд╛рддред рд╣рд░ INC BP; PUSH BP; MOV BP,SP рдлрд╝рдВрдХреНрд╢рди рдХреЛ INC BP; PUSH BP; MOV BP,SP рдкреНрд░реЛрдкрд▓реЙрдЧ рд╕реЗ рд╢реБрд░реВ рд╣реЛрдирд╛ рдЪрд╛рд╣рд┐рдП INC BP; PUSH BP; MOV BP,SP INC BP; PUSH BP; MOV BP,SP INC BP; PUSH BP; MOV BP,SP рдФрд░ рдПрдкрд┐рд▓реЙрдЧ POP BP; DEC BP; RETF рд╕рд╛рде рд╕рдорд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИ POP BP; DEC BP; RETF POP BP; DEC BP; RETF POP BP; DEC BP; RETF (рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ, рдкреНрд░рд╕реНрддрд╛рд╡рдирд╛ рдФрд░ рдЙрдкрд╕рдВрд╣рд╛рд░ рдЕрдзрд┐рдХ рдЬрдЯрд┐рд▓ рдереЗ, рд▓реЗрдХрд┐рди рдпрд╣ рдЕрдм рдЙрд╕рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдирд╣реАрдВ рд╣реИред)

рд╣рдордиреЗ рд╕реНрдЯреИрдХ рд╕реЗ рд▓рд┐рдВрдХ рдХрд╛ рдкрддрд╛ рд▓рдЧрд╛рдпрд╛, рд▓реЗрдХрд┐рди рдЕрдиреНрдп рдХреЛрдб рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдВрдХ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдХреНрдпрд╛? рдмреЗрд╢рдХ, рд╡рд┐рдВрдбреЛрдЬ рдкреВрд░реА рдореЗрдореЛрд░реА рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдирд╣реАрдВ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ, рд╕рднреА рдХреЙрд▓ рдЕрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдвреВрдВрдв рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рдЙрди рд╕рднреА рдХреЛ рдкреБрдирдГ рд▓реЛрдб рдереНрд░рдХреНрд╕ рдХреЗ рд╕рд╛рде рдмрджрд▓ рд╕рдХрддрд╛ рд╣реИред рдЗрд╕рдХреЗ рдмрдЬрд╛рдп, рдЕрдВрддрдГрд╡рд┐рд╖рдп рдХреЙрд▓ рдХреЛ рдЗрд╕ рддрдереНрдп рдХреЛ рдзреНрдпрд╛рди рдореЗрдВ рд░рдЦрддреЗ рд╣реБрдП рд╕рдВрдХрд▓рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ рдХрд┐ рддрдерд╛рдХрдерд┐рдд рдлрд╝рдВрдХреНрд╢рди рд╕реНрдореГрддрд┐ рдореЗрдВ рдирд╣реАрдВ рд╣реЛ рд╕рдХрддрд╛ рд╣реИ, рдФрд░ рд╡рд╛рд╕реНрддрд╡ рдореЗрдВ рд╡реЗ рдореЙрдбреНрдпреВрд▓ рдЗрдирдкреБрдЯ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ "рд╕реНрдЯрдм" рдХрд╣рддреЗ рд╣реИрдВред рдЗрд╕ рд╕реНрдЯрдм рдореЗрдВ рдПрдХ int 3fh рдЗрдВрд╕реНрдЯреНрд░рдХреНрд╢рди рд╣реЛрддрд╛ рд╣реИ, рдФрд░ рддреАрди рдФрд░ рд╕рд░реНрд╡рд┐рд╕ рдмрд╛рдЗрдЯреНрд╕ рдпрд╣ рджрд░реНрд╢рд╛рддрд╛ рд╣реИ рдХрд┐ рдлрдВрдХреНрд╢рди рдХреЛ рдХрд╣рд╛рдВ рджреЗрдЦрдирд╛ рд╣реИред int 3fh рдЕрдкрдиреЗ рд╡рд╛рдкрд╕реА рдкрддреЗ рдкрд░ рдЗрди рд╕реЗрд╡рд╛ рдмрд╛рдЗрдЯреНрд╕ рдкрд╛рддрд╛ рд╣реИ; рд╡рд╛рдВрдЫрд┐рдд рдЦрдВрдб рдХреЛ рдкрд░рд┐рднрд╛рд╖рд┐рдд рдХрд░рддрд╛ рд╣реИ; рдпрджрд┐ рдЗрд╕реЗ рдкрд╣рд▓реЗ рд╕реЗ рд▓реЛрдб рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ рддреЛ рдЗрд╕реЗ рдореЗрдореЛрд░реА рдореЗрдВ рд▓реЛрдб рдХрд░рддрд╛ рд╣реИ; рдФрд░ рдЕрдВрдд рдореЗрдВ рдкреВрд░реНрдг рд╕рдВрдХреНрд░рдордг jmp xxxx:yyyy рд╕рд╛рде рдЗрдирдкреБрдЯ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рд╕реНрдЯрдм рдХреЛ рдЕрдзрд┐рд▓реЗрдЦрд┐рдд рдХрд░рддрд╛ рд╣реИ jmp xxxx:yyyy рдлрд╝рдВрдХреНрд╢рди рдмреЙрдбреА рдХреЗ рд▓рд┐рдП jmp xxxx:yyyy , рддрд╛рдХрд┐ рдПрдХ рд╣реА рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдЕрдЧрд▓реЗ рдХреЙрд▓ рдХреЗрд╡рд▓ рдПрдХ рдЗрдВрдЯрд░-рд╕реЗрдЧрдореЗрдВрдЯ рд╕рдВрдХреНрд░рдордг рджреНрд╡рд╛рд░рд╛ рдзреАрдорд╛ рд╣реЛ рдЬрд╛рддреЗ рд╣реИрдВ, рдмрд┐рдирд╛ рдХрд┐рд╕реА рд░реБрдХрд╛рд╡рдЯ рдХреЗред

рдЕрдм, рдЬрдм рд╡рд┐рдВрдбреЛрдЬ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рддрд╛ рд╣реИ, рддреЛ рдпрд╣ рдореЙрдбреНрдпреВрд▓ рдЗрдирдкреБрдЯ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЗрд╕рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╕рдВрдХреНрд░рдордг рдХреЛ 3 int 3fh рд╡рд╛рдкрд╕ рдбрд╛рд▓рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реЛрддрд╛ рд╣реИред рд╕рд┐рд╕реНрдЯрдо рдХреЛ рдЕрдирд▓реЛрдб рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рднреА рдХреЙрд▓ рдХреА рдЦреЛрдЬ рдХрд░рдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИ - рд╡реЗ рд╕рднреА рд╕рдВрдХрд▓рди рдкрд░ рднреА рдкрд╛рдП рдЧрдП рдереЗ! рдореЙрдбреНрдпреВрд▓ рдХреА " WinMain рдЯреЗрдмрд▓" рдореЗрдВ рд╕рднреА рджреВрд░ рдХреЗ рдХрд╛рд░реНрдп рд╢рд╛рдорд┐рд▓ рд╣реЛрддреЗ рд╣реИрдВ рдЬреЛ рдХрдВрдкрд╛рдЗрд▓рд░ рдХреЙрд▓ рдХреЗ рдЕрд╕реНрддрд┐рддреНрд╡ рдХреЗ рдмрд╛рд░реЗ рдореЗрдВ рдЬрд╛рдирддрд╛ рд╣реИ (рдЗрд╕рдореЗрдВ рд╡рд┐рд╢реЗрд╖ рд░реВрдк рд╕реЗ, рдирд┐рд░реНрдпрд╛рдд рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рдФрд░ WinMain ), рд╕рд╛рде рд╣реА рд╕рднреА рджреВрд░ рдХреЗ рдлрд╝рдВрдХреНрд╢рдВрд╕ рдЬреЛ рдкреЙрдЗрдВрдЯрд░ рджреНрд╡рд╛рд░рд╛ рдкрд╛рд░рд┐рдд рдХрд┐рдП рдЧрдП рдереЗ, рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ рд╡реЗ рдХрд░ рд╕рдХрддреЗ рд╣реИрдВ рдХрд╣реАрдВ рд╕реЗ рднреА рдмреБрд▓рд╛рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ, рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ рдкреНрд░реЛрдЧреНрд░рд╛рдо рдХреЛрдб рдХреЗ рдмрд╛рд╣рд░ рднреА (рдЗрд╕рдореЗрдВ WndProc , EnumFontFamProc рдФрд░ рдЕрдиреНрдп рдХреЙрд▓рдмреИрдХ рдлрд╝рдВрдХреНрд╢рди рд╢рд╛рдорд┐рд▓ рд╣реИрдВ)ред

рджреВрд░ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд╕рдВрдХреЗрдд рдХреЗ рдмрдЬрд╛рдп, рдПрдХ рд╕реНрдЯрдм рдХреЗ рд▓рд┐рдП рдПрдХ рд╕рдВрдХреЗрддрдХ рд╣рд░ рдЬрдЧрд╣ рдкрд╛рд░рд┐рдд рдХрд┐рдпрд╛ рдЬрд╛рддрд╛ рд╣реИ; рдЬрд┐рд╕рдХрд╛ рдЕрд░реНрде рд╣реИ рдХрд┐ GetWindowLong(GWL_WNDPROC) рдФрд░ рдЗрд╕реА рддрд░рд╣ рдХреА рдХреЙрд▓ рд╕реЗ рдкреНрд░рд╛рдкреНрдд рдкрддреЗ рднреА рд╕реНрдЯрдм рдХреА рдУрд░ рдЗрд╢рд╛рд░рд╛ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╢рд░реАрд░ рдХреЛ рдирд╣реАрдВред рдпрд╣рд╛рдВ рддрдХ тАЛтАЛрдХрд┐ GetProcAddress рдореБрд╢реНрдХрд┐рд▓ рд╣реИ, рдФрд░ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рдкрддреЗ рдХреЗ рдмрдЬрд╛рдп, рдпрд╣ DLL рдкреНрд░рд╡рд┐рд╖реНрдЯрд┐ рддрд╛рд▓рд┐рдХрд╛ рдореЗрдВ рдЕрдкрдиреЗ рд╕реНрдЯрдм рдХрд╛ рдкрддрд╛ рджреЗрддрд╛ рд╣реИред (Win32 рдореЗрдВ, рдХреЗрд╡рд▓ DLL рдХреЗ рд▓рд┐рдП "рдПрдВрдЯреНрд░реА рдЯреЗрдмрд▓" рдХрд╛ рдПрдирд╛рд▓реЙрдЧ "рдПрдХреНрд╕рдкреЛрд░реНрдЯ рдЯреЗрдмрд▓" рдХреЗ рдирд╛рдо рд╕реЗ рдмрдирд╛ рд░рд╣рд╛ред) рд╕реНрдЯреИрдЯрд┐рдХ рдЗрдВрдЯрд░рдореЙрдбреНрдпреВрд▓ рдХреЙрд▓ (DLL рд╕реЗ рдЖрдпрд╛рдд рдХрд┐рдП рдЧрдП рдлрд╝рдВрдХреНрд╢рдВрд╕ рдкрд░ рдХреЙрд▓) рд╕рдорд╛рди GetProcAddress рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд╣рд▓ рдХрд░рддреЗ рд╣реИрдВ, рдФрд░ рдЗрд╕рд▓рд┐рдП, рдЙрд╕реА рддрд░рд╣ рд╕реЗ рд╡реЗ рд╕реНрдЯрдм рдХрд╣рддреЗ рд╣реИрдВред ред рдХрд┐рд╕реА рднреА рдорд╛рдорд▓реЗ рдореЗрдВ, рдпрд╣ рдкрддрд╛ рдЪрд▓рд╛ рд╣реИ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рддреЗ рд╕рдордп, рд╕реНрдЯрдм рдХреЛ рдареАрдХ рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдкрд░реНрдпрд╛рдкреНрдд рд╣реИ, рдФрд░ рдЖрдкрдХреЛ рдХреЙрд▓рд┐рдВрдЧ рдХреЛрдб рдХреЛ рдЫреВрдиреЗ рдХреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╣реАрдВ рд╣реИред

Relocatable рдХреЛрдб рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рд╕рд╛рде рдпрд╣ рд╕рднреА рдЬреНрдЮрд╛рди рдбреЙрд╕ рдХреЗ рд▓рд┐рдП рдУрд╡рд░рд▓реЗ рд▓рд┐рдВрдХрд░ рд╕реЗ "рд╡рд┐рд░рд╛рд╕рдд рджреНрд╡рд╛рд░рд╛" рд╡рд┐рдВрдбреЛрдЬ рдореЗрдВ рдЖрдпрд╛ рдерд╛ред рдЬреИрд╕реЗ, рдкрд╣рд▓реЗ рдкреВрд░реА рд╕реНрдХреАрдо - рдареАрдХ рдЗрд╕реА рд░реВрдк рдореЗрдВ - рдЬрд╝реЛрд░реНрдЯреЗрдХ рд╕реА рдХрдВрдкрд╛рдЗрд▓рд░ рдореЗрдВ рджрд┐рдЦрд╛рдИ рджреА, рдФрд░ рдлрд┐рд░ рдорд╛рдЗрдХреНрд░реЛрд╕реЙрдлреНрдЯ рд╕реА рдореЗрдВред рдЬрдм рд╡рд┐рдВрдбреЛрдЬ рдХреЗ рд▓рд┐рдП рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдмрдирд╛рдпрд╛ рдЧрдпрд╛ рдерд╛, рддреЛ рдбреЙрд╕ рдХреЗ рд▓рд┐рдП рдореМрдЬреВрджрд╛ рдУрд╡рд░рд▓реЗ рдкреНрд░рд╛рд░реВрдк рдХреЛ рдЖрдзрд╛рд░ рдХреЗ рд░реВрдк рдореЗрдВ рд▓рд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

рд▓реЗрдХрд┐рди рд╡рд┐рдВрдбреЛрдЬ рдХрд┐рд╕ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдХреИрд╕реЗ рдЪреБрдирддрд╛ рд╣реИ? рдпрд╛рджреГрдЪреНрдЫрд┐рдХ рдкрд░ рдЪрдпрди рдХрд░рдирд╛ рдЬреЛрдЦрд┐рдо рднрд░рд╛ рд╣реЛрдЧрд╛ - рд╣рдо рдЙрд╕ рдХреЛрдб рдореЗрдВ рдЖ рд╕рдХрддреЗ рд╣реИрдВ рдЬрд┐рд╕реЗ рдЕрднреА-рдЕрднреА рдирд┐рд╖реНрдкрд╛рджрд┐рдд рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдФрд░ рдЬрд┐рд╕реЗ рд╡рд╛рдкрд╕ рдбрд╛рдЙрдирд▓реЛрдб рдХрд░рдирд╛ рд╣реЛрдЧрд╛ред рдЗрд╕рд▓рд┐рдП, рд╡рд┐рдВрдбреЛрдЬ рдХреЛрдб рд╕реЗрдЧрдореЗрдВрдЯ рдХреЗ рд▓рд┐рдП "рдПрдХреНрд╕реЗрд╕ рдмрд┐рдЯ" рдХреА рддрд░рд╣ рдХреБрдЫ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рддрд╛ рд╣реИ : рдпрд╣ рдЬрд╛рдирдХрд░ рдХрд┐ рдлрд╝рдВрдХреНрд╢рди рдХреЗ рд╕рднреА рдХреЙрд▓ рдХреЙрд▓ рдЙрд╕рдХреЗ рд╕реНрдЯрдм рд╕реЗ рдЧреБрдЬрд░рддреЗ рд╣реИрдВ, рдЙрдиреНрд╣реЛрдВрдиреЗ рдирд┐рд░реНрджреЗрд╢ sar byte ptr cs:[xxx], 1 рдбрд╛рд▓рдиреЗ рдХрд╛ int 3fh ( sar byte ptr cs:[xxx], 1 int 3fh ( jmp рдЗрд╕реЗ рдкреНрд░рддрд┐рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдиреЗ рд╕реЗ рдкрд╣рд▓реЗ) sar byte ptr cs:[xxx], 1 , рдЬреЛ рд╣рд░ рдмрд╛рд░ рдлрд╝рдВрдХреНрд╢рди рдХрд╣реЗ рдЬрд╛рдиреЗ рд╡рд╛рд▓реЗ рдмрд╛рдЗрдЯ рдХрд╛рдЙрдВрдЯрд░ рдХреЛ 1 рд╕реЗ 0 рддрдХ рд░реАрд╕реЗрдЯ рдХрд░рддрд╛ рд╣реИред рдпрд╣ рдирд┐рд░реНрджреЗрд╢ рд╕рд┐рд░реНрдл рдкрд╛рдБрдЪ рдмрд╛рдЗрдЯреНрд╕ рд▓реЗрддрд╛ рд╣реИ: рдЖрдк рдореМрдЬреВрджрд╛ рдирд┐рд╖реНрдкрд╛рджрди рдпреЛрдЧреНрдп рдлрд╝рд╛рдЗрд▓ рдкреНрд░рд╛рд░реВрдк рдХреЛ рд╕рд╣реЗрдЬ рд╕рдХрддреЗ рд╣реИрдВ, рдФрд░ рдПрдХ рдХрд╛рдЙрдВрдЯрд░ рдирд┐рд░реНрджреЗрд╢ рдХреЗ рд╕рд╛рде int 3fh рдЧрдП рдПрдХ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ int 3fh рд▓реЛрдб рдХрд░ рд╕рдХрддреЗ рд╣реИрдВред

рд╕рднреА рдХреЛрдб рдЦрдВрдбреЛрдВ рдХреЗ рд▓рд┐рдП рдХрд╛рдЙрдВрдЯрд░ рдорд╛рди 1 рд╕реЗ рдкреНрд░рд╛рд░рдВрдн рдХрд┐рдП рдЬрд╛рддреЗ рд╣реИрдВ, рдФрд░ рдкреНрд░рддреНрдпреЗрдХ 250ms рдореЗрдВ, Windows рд╕рднреА рдореЙрдбреНрдпреВрд▓ рдХреЛ рдмрд╛рдпрдкрд╛рд╕ рдХрд░рддрд╛ рд╣реИ, рдЕрджреНрдпрддрди рдорд╛рди рдПрдХрддреНрд░ рдХрд░рддрд╛ рд╣реИ рдФрд░ рдХреЛрдб рдЦрдВрдбреЛрдВ рдХреЛ рдЕрдкрдиреА LRU рд╕реВрдЪреА рдореЗрдВ рдкреБрди: рд╡реНрдпрд╡рд╕реНрдерд┐рдд рдХрд░рддрд╛ рд╣реИред рдбреЗрдЯрд╛ рд╕реЗрдЧрдореЗрдВрдЯ рдХреА рдХреЙрд▓ рдХреЛ рдмрд┐рдирд╛ рдХрд┐рд╕реА рдЯреНрд░рд┐рдХ рдХреЗ рдЯреНрд░реИрдХ рдХрд┐рдпрд╛ рдЬрд╛ рд╕рдХрддрд╛ рд╣реИ: рдРрд╕реА рд╕рднреА рдХреЙрд▓ GlobalLock рд╕реЗ GlobalLock рдпрд╛ рдЗрд╕реА рддрд░рд╣ рдХреЗ рдХрд╛рд░реНрдпреЛрдВ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реНрдкрд╖реНрдЯ рдХреЙрд▓ рджреНрд╡рд╛рд░рд╛ рдЪрд┐рд╣реНрдирд┐рдд рд╣реИрдВред рдЗрд╕рд▓рд┐рдП рдЬрдм рдореЗрдореЛрд░реА рдЦрд╛рд▓реА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдПрдХ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рдиреЗ рдХрд╛ рд╕рдордп рдЖрддрд╛ рд╣реИ - рд╡рд┐рдВрдбреЛрдЬ рдЙрд╕ рд╕реЗрдЧрдореЗрдВрдЯ рдХреЛ рдЕрдирд▓реЛрдб рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░реЗрдЧрд╛ рдЬрд┐рд╕реЗ рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдПрдХреНрд╕реЗрд╕ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдпрд╛ рддреЛ рдПрдХ рдХреЛрдб рд╕реЗрдЧрдореЗрдВрдЯ рдЬрд┐рд╕рдХрд╛ рдХрд╛рдЙрдВрдЯрд░ 0 рдкрд░ рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рд░реАрд╕реЗрдЯ рдирд╣реАрдВ рдХрд┐рдпрд╛ рдЧрдпрд╛ рд╣реИ, рдпрд╛ рдПрдХ рдбреЗрдЯрд╛ рд╕реЗрдЧрдореЗрдВрдЯ рдЬреЛ рд╕рдмрд╕реЗ рд▓рдВрдмреЗ рд╕рдордп рддрдХ рдирд╣реАрдВ рдЪрд▓рд╛ рд╣реИред рддрдп рдХрд┐рдпрд╛ рдЧрдпрд╛ рдерд╛ред

Windows рд╡рд┐рдЬреНрдЮрд╛рдкрди 1.0-2.1 GUIdebook рдкрд░ рд▓рд┐рдпрд╛ рдЧрдпрд╛

Source: https://habr.com/ru/post/In154713/


All Articles