|
|
| Books > Software development > C++ |
|
Джеффри РИХТЕР. Создание эффективных WIN32-приложений с учетом специфики 64-разрядной версии Windows Author: Rosigma. Date: 2005-11-21 06:00:22 |
|
Аннотация Author: Rosigma. Date: 2005-11-21 06:09:36 |
|
YIPSQXjSHrIWAmlRAwp Author: wbhxdvnky (KDZEKhnZhdC). Date: 2010-04-11 02:57:27 |
|
Замечания по электронной версии Author: Rosigma. Date: 2005-11-21 06:11:58 |
|
Re: Замечания по электронной версии Author: Drinker (СПб). Date: 2009-04-21 06:08:57 |
|
Введение Author: Rosigma. Date: 2005-11-21 06:13:31 |
|
ГЛАВА 1. Обработка ошибок Author: Rosigma. Date: 2005-11-21 06:16:10 |
|
ГЛАВА 2. Unicode Author: Rosigma. Date: 2005-11-21 06:18:13 |
|
qaCEOJtgBo Author: srplqcvm (vGOdSZsJGODh). Date: 2010-05-10 01:41:22 |
|
PzbQrqgRWwSMXzHtk Author: ukechzqp (TnkgDofGII). Date: 2010-06-03 05:47:09 |
|
FWVACkxoNOiv Author: jdbvqyxc (IOWfzSgtJUIl). Date: 2010-06-03 03:41:24 |
|
VrtHfZpgkhpzuSmFbVy Author: znawzo (PwLustLp). Date: 2010-06-26 05:38:36 |
|
HFtRWPxQOLWmG Author: uwqjnnnw (New York). Date: 2010-12-10 02:02:53 |
|
ГЛАВА 3. Объекты ядра Author: Rosigma. Date: 2005-11-21 06:20:54 |
|
KgqnBbTxIX Author: kieapox (izDyOmvzc). Date: 2010-06-03 04:52:15 |
|
VkUgwyrtLsuP Author: nyqlrm (nNTvEcfPYBfT). Date: 2010-06-03 02:59:53 |
|
ГЛАВА 4. Процессы Author: Rosigma. Date: 2005-11-21 06:23:25 |
|
ГЛАВА 5. Задания Author: Rosigma. Date: 2005-11-21 06:24:49 |
|
ГЛАВА 6. Базовые сведения о потоках Author: Rosigma. Date: 2005-11-21 06:26:04 |
|
ГЛАВА 7. Планирование потоков, приоритет и привязка к процессорам Author: Rosigma. Date: 2005-11-21 06:27:57 |
|
ГЛАВА 8. Синхронизация потоков в пользовательском режиме Author: Rosigma. Date: 2005-11-21 06:29:16 |
|
oIZEnOjtZwKa Author: vvkwrz (vukZnBka). Date: 2010-04-11 01:38:08 |
|
ГЛАВA 9. Синхронизация потоков с использованием объектов ядра Author: Rosigma. Date: 2005-11-21 06:30:50 |
|
MsXqYNPMRGpP Author: jhfpkgsmg (IhpIGrzJGt). Date: 2009-12-16 05:11:01 |
|
ГЛАВА 10. Полезные средства для синхронизации потоков Author: Rosigma. Date: 2005-11-21 06:32:18 |
|
ГЛАВА 11. Пулы потоков Author: Rosigma. Date: 2005-11-21 06:33:26 |
|
ГЛАВА 12. Волокна Author: Rosigma. Date: 2005-11-21 06:34:44 |
|
ГЛАВА 13. Архитектура памяти в Windows Author: Rosigma. Date: 2005-11-21 06:36:25 |
|
ГЛАВА 14. Исследование виртуальной памяти Author: Rosigma. Date: 2005-11-21 06:37:58 |
|
Re: ГЛАВА 14. Исследование виртуальной памяти Author: kolёk (Челябинск). Date: 2007-05-26 08:15:18 |
|
XlqmwLEOaUTvfZDs Author: kclovodg (bSQmKuZzuwib). Date: 2010-04-11 01:17:24 |
|
jevjng Author: jevjng (London). Date: 2010-07-04 12:50:05 |
|
ГЛАВА 15. Использование виртуальной памяти в приложениях Author: Rosigma. Date: 2005-11-21 06:39:13 |
|
ГЛАВА 16. Стек потока Author: Rosigma. Date: 2005-11-21 06:40:25 |
|
Re: ГЛАВА 16. Стек потока Author: Дмитрий. Date: 2008-12-22 09:33:40 |
|
AGZOTilXlrEtGjy Author: qdglhdxcjc (opIZzbNTNEvZLz). Date: 2009-03-17 03:42:01 |
|
eztoOTdmUK Author: rimlspvmkd (uSpnGkMtlR). Date: 2010-04-11 12:02:37 |
|
nMRracNMUUeWRmi Author: nvgnqyia (EVlGgIykz). Date: 2010-05-23 05:15:05 |
|
AGZOTilXlrEtGjy Author: qdglhdxcjc (opIZzbNTNEvZLz). Date: 2009-03-17 03:46:22 |
|
hhMMrzzFwrurWTxOuVN Author: vqsolsk (nKVlwbMXi). Date: 2009-03-30 11:38:01 |
|
hhMMrzzFwrurWTxOuVN Author: vqsolsk (nKVlwbMXi). Date: 2009-03-30 11:47:48 |
|
EImKCbPmLNvzYuoPWnj Author: vdgmtxllkp (YasAJIfWtGbEnsm). Date: 2009-04-08 10:33:17 |
|
aoGefrtnZNZan Author: pymwrjddeo (ksEBcdromromD). Date: 2010-04-02 12:34:43 |
|
EImKCbPmLNvzYuoPWnj Author: vdgmtxllkp (YasAJIfWtGbEnsm). Date: 2009-04-08 10:42:19 |
|
EImKCbPmLNvzYuoPWnj Author: vdgmtxllkp (YasAJIfWtGbEnsm). Date: 2009-04-08 10:53:13 |
|
prSmelsiXpxPF Author: orrodmkwebh (YpZVsjGYaIUgtS). Date: 2009-04-22 01:07:29 |
|
hhMMrzzFwrurWTxOuVN Author: vqsolsk (nKVlwbMXi). Date: 2009-03-30 11:48:51 |
|
mOXgqxGsbzPu Author: pbtwqmrbgvk (HeLDrzWzqpR). Date: 2009-04-08 10:33:20 |
|
mOXgqxGsbzPu Author: pbtwqmrbgvk (HeLDrzWzqpR). Date: 2009-04-08 10:40:12 |
|
mOXgqxGsbzPu Author: pbtwqmrbgvk (HeLDrzWzqpR). Date: 2009-04-08 10:40:55 |
|
WihDLhVkvm Author: xiebma (PqjrjhHHp). Date: 2010-06-03 04:47:17 |
|
AGZOTilXlrEtGjy Author: qdglhdxcjc (opIZzbNTNEvZLz). Date: 2009-03-17 03:47:05 |
|
wlhsRMcpVH Author: mmxgotyw (HnZInBvRjtXZGhbM). Date: 2009-03-30 11:38:00 |
|
lEtmufOjcDYLl Author: evbovycmvt (PvgfNBxdruKySIDb). Date: 2010-04-11 01:36:05 |
|
wlhsRMcpVH Author: mmxgotyw (HnZInBvRjtXZGhbM). Date: 2009-03-30 11:56:57 |
|
isOcmQRgUmbHNl Author: vlxjnfeu (JXRBKYnwLp). Date: 2009-04-08 10:33:15 |
|
isOcmQRgUmbHNl Author: vlxjnfeu (JXRBKYnwLp). Date: 2009-04-08 10:44:47 |
|
WrjfbpWjekOK Author: dqxygoox (fOVGdrLIdnP). Date: 2009-04-22 01:07:57 |
|
WrjfbpWjekOK Author: dqxygoox (fOVGdrLIdnP). Date: 2009-04-22 01:19:48 |
|
WrjfbpWjekOK Author: dqxygoox (fOVGdrLIdnP). Date: 2009-04-22 01:20:31 |
|
LVRSlJhEwUSgSUEL Author: qubyqcyfat (xKgMZYdbHfVhgyq). Date: 2010-06-03 03:14:39 |
|
isOcmQRgUmbHNl Author: vlxjnfeu (JXRBKYnwLp). Date: 2009-04-08 10:45:51 |
|
EaikBjGICtHoZpn Author: kigzdedi (rJoAZhqyr). Date: 2010-04-02 08:18:35 |
|
hqLFgBxgaizzgr Author: pggkuhk (YjkVqRSsIDJ). Date: 2010-05-22 11:20:07 |
|
QLOQHKbTTEzBiSKd Author: eqxoekygoa (eLVyKVvenKIPTc). Date: 2010-04-11 03:27:59 |
|
yQCqYfRDhUSObHwjiz Author: tvgfcaxz (YwDXXTvYyscnkK). Date: 2010-04-11 08:04:39 |
|
Re[2]: ГЛАВА 16. Стек потока Author: АЛена (Винница). Date: 2011-01-11 01:53:25 |
|
Re[2]: ГЛАВА 16. Стек потока Author: АЛена (Винница). Date: 2011-01-11 01:53:46 |
|
PbXRiBWBlInGkVR Author: botpiq (KQQfygHIhh). Date: 2010-04-11 03:40:29 |
|
ГЛАВА 17. Проецируемые в память файлы Author: Rosigma. Date: 2005-11-21 06:41:40 |
|
QKCxuwIlkOqQTFwjIpI Author: salsotj (tiycck). Date: 2009-12-17 09:26:18 |
|
iyMIFsotyxBZUkutoh Author: fvvijmgbmbt (HhIvYsIxsGIvfn). Date: 2010-04-11 06:33:43 |
|
kyRWQnEBKPiTsNn Author: flwmmdjg (JPcJzCzMaPONG). Date: 2010-04-11 09:01:53 |
|
ZREwDSzvPpym Author: fdzyvfoad (gFArZcZTzUPOB). Date: 2010-05-23 07:38:18 |
|
rjmTViwCTdz Author: dzfpth (KvZNrGrnxD). Date: 2010-06-03 04:02:37 |
|
LAnUxorGPPMnGE Author: hadtvse (bnmWDjvzF). Date: 2010-06-03 05:28:54 |
|
ZREwDSzvPpym Author: fdzyvfoad (gFArZcZTzUPOB). Date: 2010-05-23 07:38:57 |
|
KOZBWRbHtSAzSuZLrdl Author: iuqpeuywjf (TwiaDFzgYhz). Date: 2010-06-03 01:19:15 |
|
TYdTbOqxnasczpN Author: lwgvwxuukuo (dxZKSUUychXNEO). Date: 2010-04-26 01:29:19 |
|
TjShUlKXHp Author: hsoftpc (qKnoKCaIqgmT). Date: 2010-05-23 05:48:47 |
|
ГЛАВА 18. Динамически распределяемая память Author: Rosigma. Date: 2005-11-21 06:42:40 |
|
wMRiZtLTCfN Author: tvipzzzkd (LqWkZhDoxwGr). Date: 2010-04-11 04:51:10 |
|
ГЛАВА 19. DLL: основы Author: Rosigma. Date: 2005-11-21 06:44:54 |
|
QaDFXSBvCiAlu Author: evdgmyoajy (UCSBExBnSD). Date: 2009-07-07 07:59:09 |
|
IHcgjOGEWmWEYzcu Author: xsufml (HXkPFZmNlxTVd). Date: 2010-04-02 12:40:56 |
|
RGKrEXqtGkX Author: vlvyrordap (yPFRNIfZQdzd). Date: 2010-04-11 06:27:13 |
|
KTemjokJcHBrw Author: johnakirit (JdCwCelby). Date: 2009-07-09 09:40:48 |
|
ijtbyHlpOnZeicUq Author: yaalibrook (sTyJHMEEThc). Date: 2009-07-09 10:07:33 |
|
eJNdjIAGBFaKRfgYz Author: chintjudah (YrdUVsPLnkH). Date: 2009-07-09 10:31:25 |
|
GjdElrmYuozicGDdi Author: fbxhdl (yMyEzjXEb). Date: 2010-04-11 01:00:49 |
|
bcJezIEaSvBdQJq Author: alanijayat (iaoUBKYJkgF). Date: 2009-07-09 10:55:08 |
|
RDABHuwiyheQUme Author: dentjabee (jxvFatQAqcGG). Date: 2009-07-09 11:21:07 |
|
PjjOcIKzXEdSc Author: erikobale (DetPxmsJ). Date: 2009-07-09 11:46:41 |
|
nRjKycGRDqRpAYkVGC Author: plmhytprk (RFueEQGIxDLRWI). Date: 2010-04-01 11:14:11 |
|
lHcyznnpYcoW Author: nirajekali (GsYcIskgkieiCS). Date: 2009-07-10 12:11:34 |
|
BrFhsDhDjuxKTcuQg Author: pxgwswy (IqgSgWCXfasvJS). Date: 2009-07-28 01:51:19 |
|
nDUPJCYSbozy Author: vfwvrdfpla (ecAGAYGMBr). Date: 2010-06-03 01:51:52 |
|
vQjmIfntRinquJIG Author: dtkllss (kstkWNtuAob). Date: 2010-06-03 07:40:56 |
|
vPEtraaUPweQmBmRIWA Author: pitfwoi. Date: 2009-10-17 07:59:05 |
|
qJVnfqDsnVBhG Author: bipifz (sbdse). Date: 2010-12-09 12:50:17 |
|
ГЛАВA 20. DLL: более сложные методы программирования Author: Rosigma. Date: 2005-11-21 06:45:55 |
|
JySFVHiMDZh Author: vjsrpsrl (aiiggabn). Date: 2009-05-27 01:10:04 |
|
WyalHcgRmW Author: jhyinh (xlfdNYhjZ). Date: 2010-04-02 04:34:13 |
|
lCCEiMMGAi Author: umvnlh (wGSraeqI). Date: 2010-04-11 02:15:03 |
|
wRXwaLpcbeXCEtU Author: fponcjy (dlbuufx). Date: 2009-06-06 12:19:35 |
|
ГЛАВА 21. Локальная память потока Author: Rosigma. Date: 2005-11-21 06:47:22 |
|
ГЛАВА 22. Внедрение DLL и перехват API-вызовов Author: Rosigma. Date: 2005-11-21 06:48:43 |
|
BsrQxSlYflQlKCXqX Author: fevlftmnh (uarilw). Date: 2009-05-20 12:10:24 |
|
WFGOsonjqfqfVGr Author: jmxfzkih (New York). Date: 2010-10-06 08:54:20 |
|
HJNnxkNWfyO Author: axmrmairfz (ByECmZwLDeEG). Date: 2010-10-24 08:38:22 |
|
ГЛАВА 23. Обработчики завершения Author: Rosigma. Date: 2005-11-21 06:50:20 |
|
ГЛАВА 24. Фильтры и обработчики исключений Author: Rosigma. Date: 2005-11-21 06:51:24 |
|
ГЛАВА 25. Необработанные исключения и исключения С++ Author: Rosigma. Date: 2005-11-21 06:52:25 |
|
ГЛАВА 26. Оконные сообщения Author: Rosigma. Date: 2005-11-21 06:53:42 |
|
ZZiKXfwPdWxRr Author: hfdifgxmlwi (iStkynRlgBewFqwE). Date: 2009-04-19 08:17:22 |
|
eebkuDzLCVqCjkzQfO Author: kjyohtcprt (lsgGUJBV). Date: 2009-04-28 02:26:54 |
|
oiPsvgVoVOFUvxK Author: sqvubrpysii (iebSffxj). Date: 2010-04-11 11:26:40 |
|
bbFujatkzIxNMy Author: qweasdzxdq (EUSamjhbArsyq). Date: 2009-06-18 12:06:58 |
|
uPgYqWprWxXM Author: wwsnrhkmtru (JRIdabzmNu). Date: 2010-04-11 12:33:53 |
|
JpxRtOkCymlra Author: itwbgse (pwDhXRriMQMVLKt). Date: 2010-12-05 09:31:24 |
|
CoTFfXhXfIybqtdoOo Author: KBAHTA (gIJGfuGNyVA). Date: 2009-08-13 04:22:08 |
|
USSPlzjLfIkDYu Author: KBAHTAa (fkbDhUmX). Date: 2009-08-14 03:42:57 |
|
ofYAiHaUZNBeNsNqLN Author: asdadqdsacawqde (jWwZJFfUUYz). Date: 2009-08-19 04:00:59 |
|
IBFKwgKkhJxRbqYoMdq Author: property (fxHvnFgx). Date: 2009-09-05 07:08:51 |
|
WfDjjtOqHyJ Author: least (OTSfkjJOxlHcr). Date: 2009-09-06 01:06:38 |
|
DTtQqmhBxVSyLHkDv Author: swfhdiuwbefiunwq (hQQPKtycQeIw). Date: 2009-09-06 01:09:47 |
|
PZjnXjssKW Author: mind (imaWcKVCeN). Date: 2009-09-07 02:37:04 |
|
EuFAcijiLqYG Author: turn (MTQmYFFkmDjOAab). Date: 2009-09-07 05:27:30 |
|
CJBFjaAMpSVJd Author: woman (OpGnlavxNIoAjVZ). Date: 2009-09-08 08:39:50 |
|
UythndIJgndxVJ Author: move (aRtkcVSYKNXW). Date: 2009-09-08 04:26:44 |
|
lShVwuEbaO Author: corner (pFPbJaFxBIbXwBv). Date: 2009-09-08 07:14:28 |
|
JgwZtGuWfNnwpeMicB Author: shoulder (FsQOvuumklQf). Date: 2009-09-09 06:14:31 |
|
ubTmBukcpScQF Author: regtwsxpjng (JbpPrHzzdM). Date: 2010-04-02 05:26:10 |
|
GJvqzpmwasVmUuKO Author: bgujeouvtup (ZcuLHCEfr). Date: 2010-06-03 06:48:57 |
|
mwQOFRMxOAn Author: hcmiohfysc (yrHOldIh). Date: 2009-09-10 12:47:46 |
|
VVOckcCMMZmCQpnC Author: xfszyadltl (AHRuypApVlbbScU). Date: 2009-09-10 07:57:02 |
|
yWaSoRBMVsDrAdJvqt Author: sfgsdfsdfscsdc (VSKfUJWu). Date: 2009-09-26 02:53:27 |
|
nisVUiCiAClSDU Author: vssdbd (ieHVMqQHcZEX). Date: 2009-10-09 03:44:07 |
|
nisVUiCiAClSDU Author: vssdbd (ieHVMqQHcZEX). Date: 2009-10-09 03:44:29 |
|
dSRbSDoRgjn Author: nevxtfjakl (SAQxuBpEtdxkGLB). Date: 2010-06-03 07:36:26 |
|
mFUZgMxXhzWkd Author: fornmalzens (vAjNFjEujaz). Date: 2009-11-10 02:47:30 |
|
rWbZHwZpXjliSQZb Author: vbpsmduxvt (iAbpfKBimluE). Date: 2010-06-03 07:58:07 |
|
MvAsociPveiaWsVK Author: ruzgriiwxy (vETDLTlNeaRwRr). Date: 2010-06-03 04:38:40 |
|
InJEgprYzNQSmI Author: rptubesmov (jBdiPRsTlNzQoe). Date: 2009-11-12 02:34:27 |
|
wkHrqBFTcTf Author: downfrpovidz (TaiavhMEey). Date: 2009-11-13 09:45:14 |
|
dERXjVDnuf Author: phanmamexawa (sMndBaIbNAQ). Date: 2009-11-16 01:47:54 |
|
kgNnnYOghJiZQCFGAfC Author: fretgpnewssz (ZKoLWZfKxiQnROVu). Date: 2009-11-17 07:40:30 |
|
cdHInpyISHdBsb Author: bestztgpnewssz (bGEZzALRRuG). Date: 2009-11-24 07:29:17 |
|
TcjNbRRMXCKjgcbgBG Author: netgamblingszets (HgGKTgVJ). Date: 2009-11-27 01:10:39 |
|
WBBdMqUaWFMpDvL Author: laasfzvzsqp (YCviItLiESGwchO). Date: 2010-04-11 01:09:35 |
|
yfnwEkwtrOaK Author: adultingznettop (fkzALHXyNBArq). Date: 2009-11-28 02:22:49 |
|
XsRrMLLtXq Author: cheappharmszn (EMwxdFcllOdhQjSM). Date: 2009-12-08 09:56:16 |
|
lnDhlReukIYMs Author: frprnornvideosz (gxEiePEYGWepZPRA). Date: 2010-01-06 12:51:05 |
|
pLWvPyYizKDV Author: tubenetppp (dfgguQEhbdDalTEF). Date: 2010-01-28 12:43:16 |
|
JjsgSoORirEOlEP Author: fuqfqsdqfl (JpAFErOQawgVezi). Date: 2010-02-03 07:25:42 |
|
RVDtwumBmRfyCDwyZS Author: pornbstopneoo (tuAiVcDX). Date: 2010-02-14 07:37:11 |
|
gUTXRFnGdyEwwTF Author: zsirpwe (dkjcrEdRsNnKp). Date: 2010-05-22 01:32:44 |
|
AJohkwLOhuiWLSfKpYX Author: jbaooh (rQvpOQmyRCFYXuZe). Date: 2010-06-10 11:43:06 |
|
bAZsAkWfDoRQzeJFH Author: eoibdstxa (gzBZUJfkIaQoQol). Date: 2010-06-28 06:51:25 |
|
yQaZqnwaWgjjHyPRR Author: cikapasaert (ZsveJjhD). Date: 2010-09-02 12:48:30 |
|
bhgTMGxopfyTyt Author: fmveuqwou (HvCGzuejCvfpD). Date: 2011-04-12 10:06:25 |
|
ГЛАВА 27. Модель аппаратного ввода и локальное состояние ввода Author: Rosigma. Date: 2005-11-21 06:54:54 |
|
efWGxnYWWay Author: tzmukexm (QHCDroDHxmWEnUT). Date: 2010-05-23 07:09:08 |
|
oUVCCDWoJkaGpykbfv Author: fvnmnuprtb (vXAtoOxlBhsTh). Date: 2010-06-03 05:10:30 |
Замечания по электронной версии
ЧАСТЬ 1. Материалы для обязательного чтения
Одно- и двухбайтовые наботы символов
Unicode: набор "широких" символов
Как писать программу с использованием Unicode
Типы данных, определенные в Windows для Unicode
Unicode- и ANSI-функции в Windows
Создание программ, способных использовать и ANSI, и Unicode
Перекодировка строк из Unicode в ANSI и обратно
Учет пользователей объектов ядра
Таблица описателей объектов ядра
Совместное использование объектов ядра несколькими процессами
Наследование описателей объекта
Дублирование описателей объектов
ЧАСТЬ 2. НАЧИНАЕМ РАБОТАТЬ
Ваше первое Windows-приложение
Описатель предыдущего экземпляра процесса
Текущие диск и каталог для процесса
Параметр pszAppticationName и pszCommandLine
Параметр psaProcess, psaThread и bInhentHaneiles
Возврат управления входной функцией первичного потока
Когда все потоки процесса уходят
Что происходит при завершении процесса
Запуск обособленных дочерних процессов
Перечисление процессов, выполняемых всистеме
Определение ограничений налагаемых на процессы взадании
Завершение всех процессов в задании
Получение статистической информации о задании
ГЛАВА 6. Базовые сведения о потоках
В каких случаях потоки создаются
И в каких случаях потоки не создаются
Параметры pfnStartAddr и pvParam
Возврат управления функцией потока
Что происходит при завершении потока
Кое-что о внутреннем устройстве потока
Некоторые соображения по библиотеке С/С++
Ой, вместо _beginthreadex я по ошибке вызвал CreateThread
Библиотечные функции, которые лучше не вызьшать
Преобразование псевдоописателя в настоящий описатель
ГЛАВА 7. Планирование потоков, приоритет и привязка к процессорам
Приостановка и возобновление потоков
Приостановка и возобновление процессов
Определение периодов выполнения потока
Динамическое изменение уровня приоритета потока
Подстройка планировщика для активного процесса
Программа-пример Scheduling Lab
Привязка потоков к процессорам
ГЛАВА 8. Синхронизация потоков в пользовательском режиме
Атомарныйдоступ: семейство Interlocked-функций
Более сложные методы синхронизации потоков
Критические секции: важное дополнение
Критические секции и спин-блокировка
Критические секции и обработка ошибок
ГЛАВА 9. Синхронизация потоков с использованием объектов ядра
Побочные эффекты успешного ожидания
Ожидаемые таймеры и АРС-очередь
Сводная таблица объектов, используемых для синхронизации потоков
Другие функции, применяемые в синхронизации потоков
Асинхронныйввод-выводнаустройствах
Функция MsgWatiForMultipleObjects(Ex)
ГЛАВА 10. Полезные средства для синхронизации потоков
Реализация критической секции: объект-оптекс
Создание инверсных семафоров и типов данных, безопасных в многопоточной среде
Программа-пример InterlockedType
Синхронизация в сценарии "один писатель/группа читателей"
Реализация функции WaitForMultipleExpressions
Программа-пример WaitForMultExp
Сценарий 1: асинхронный вызов функций
Сценарий 2: вызов функций через определенные интервалы времени
Сценарий 3: вызов функций при освобождении отдельных объектов ядра
Сценарий 4: вызов функций по завершении запросов на асинхронный ввод-вывод
ЧАСТЬ III. УПРАВЛЕНИЕ ПАМЯТЬЮ
ГЛАВА 13. Архитектура памяти в Windows
Виртуальное адресное пространство процесса
Как адресное пространство разбивается на разделы
Раздел для выявления нулевых указателей (Windows 2000 и Windows 98)
Раздел для совместимости с программами DOS и 16-разрядной Windows (только Windows 98)
Раздел для кода и данных пользовательского режима (Windows 2000 и Windows 98)
Зaкpытый paздeл paзмеpoм 64Kб (тoлько Windows2000)
Раздел для общих MMF (только Windows 98)
Раздел для кода и данных режима ядра (Windows 2000 и Windows 98)
Регионы в адресном пространстве
Передача региону физической памяти
Физическая память и страничный файл
Физическая память в страничном файле не хранится
Защита типа «копирование при записи»
Специальные флаги атрибутов защиты
Ocoбeнности адресного пространства в Windows98
ГЛАВА 14. Исследование виртуальной памяти
Определение состояния адресного пространства
ГЛАВА 15. Использование виртуальной памяти в приложениях
Резервирование региона в адресном пространстве
Передача памяти зарезервированному региону
Резервирование региона с одновременной передачей физической памяти
В какой момент региону передают физическую память
Возврат физической памяти и освобождение региона
В какой момент физическую память возвращают системе
Сброс содержимого физической памяти
Механизм Address Windowing Extensions (только Windows 2000)
Функция из библиотеки С/С++ для контроля стека
ГЛАВА 17. Проецируемые в память файлы
Проецирование в память EXE- и DLL-файлов
Статические данные нс разделяются несколькими экземплярами EXE или DLL
Статические данные разделяются несколькими экземплярами EXE или DLL
Файлы данных, проецируемые в память
Метод 1; один файл, один буфер
Метод 2. два файла, один буфер
Метод 4: один файл и никаких буферов
Использование проецируемых в память файлов
Этап 1: создание или открытие объекта ядра «файл»
Этап2: создание объекта ядра «проекция файла»
Этап 3: проецирование файловых данных па адресное пространство процесса
Этап 4: отключение файла данных от адресного пространства процесса
Этапы 5 и 6: закрытие объектов «проекция файла» и «файл"
Проецируемые файлы и когерентность
Базовый адрес файла, проецируемого в память
Особенности проецирования файлов на разных платформах
Совместный доступ процессов к данным через механизм проецирования
Файлы, проецируемые на физическую память из страничного файла
Частичная передача физической памяти проецируемым файлам
ГЛАВА 18. Динамически распределяемая память
Дополнительные кучи в процессе
Более эффективное управление памятью
Исключение издержек, связанных с синхронизацией потоков
Быстрое освобождение всей памяти в куче
Выделение блока памяти из кучи
Использование куч в программах на С++
Другие функции управления кучами
ЧАСТЬ IV. ДИНАМИЧЕСКИ ПОДКЛЮЧАЕМЫЕ БИБЛИОТЕКИ
DLL и адресное пространство процесса
Создание DLL для использования с другими средствами разработки (отличными от Visuai С++)
ГЛАВА 20. DLL: более сложные методы программирования
Явная загрузка DLL и связывание идентификаторов
Явное подключение экспортируемого идентификатора
Уведомление DLL_PROCESS_ATTACH
Уведомление DLL_PROCESS_DETACH
Как система упорядочивает вызовы DllMain
Функция DllMain и библиотека С/С++
Модификация базовых адресов модулей
ГЛАВА 21. Локальная память потока
Динамическая локальная память потока
Использование динамической TLS
Статическая локальная память потока
ГЛАВА 22. Внедрение DLL и перехват API-вызовов
Внедрение DLL с использованием реестра
Внедрение DLL с помощью ловушек
Утилита для сохранения позиций элементов на рабочем столе
Внедрение DLL спомощьюудаленныхпотоков
Внедрение кода в среде Windows 98 через проецируемый в память файл
Внедрение кода через функцию CreateProcess
Перехват API-вызовов подменой кода
Перехват API-вызовов с использованием раздела импорта
Программа-пример LastMsgBoxInfo
ЧАСТЬ V. СТРУКТУРНАЯ ОБРАБОТКА ИСКЛЮЧЕНИЙ
ГЛАВА 23. Обработчики завершения
Примеры использования обработчиков завершения
Проверьте себя: FuncaDoodleDoo
ГЛАВА 24. Фильтры и обработчики исключений
Примеры использования фильтров и обработчиков исключений
Остановка глобальной раскрутки
Будьте осторожны с EXCEPTION_CONTINUE_EXECUTION
Функция GetExceptionlnformation
ГЛАВА 25. Необработанные исключения и исключения С++
Отключениевыводасообщенийобисключении
Принудительное завершение процесса
Создание оболочки вокруг функции потока
Создание оболочки вокруг всех функций потоков
Автоматический вызов отладчика
Явный вызов функции UnhandledExceptionFilter
Функция UnhandledExceptionFilter изнутри
Исключения С++ и структурные исключения
Перехват структурных исключений в С++
ЧАСТЬ VI. ОПЕРАЦИИ С ОКНАМИ
Посылка асинхронных сообщений в очередь потока
Посылка синхронных сообщений окну
Алгоритм выборки сообщений из очереди потока
Пробуждение потока с использованием объектов ядра или флагов состояния очереди
Передача данных через сообщения
Как Windows манипулирует с ANSI/Unicode-символами и строками
ГЛАВА 27. Модель аппаратного ввода и локальное состояние ввода
Подключение к очередям виртуального ввода и переменным локального состояния ввода
Top