Index
P
packed formats, 67, 77
pad bytes, 67
Page Down key, 94
Page Up key, 94
paged memory, 359–360
PAGE_EXECUTE, 366
PAGE_EXECUTE_READ, 366
PAGE_EXECUTE_READWRITE, 366
PAGE_GUARD, 366
PAGE_NOACCESS, 367, 371
PAGE_NOCACHE, 367
PAGE_READONLY, 366
PAGE_READWRITE, 366
pagespropertyadding, 312
creating, 311–313
described, 308
procedures, 313
removing, 312
switching, 314
vs. regions, 367–368
PageSetupDialog function, 352
paging files, 362
PaintEventArgs parameter, 1129
PAINTFONTINFO structure, 65
paintingbitmaps, 71–74
device contexts, 41–43
overview, 40
regions, 40–41
windows, 25–27
PaintSingleFontFamily function, 65
PAINTSTRUCT structure, 26
palette, colors, 70
PAN (personal area networking), 637
parent oid, 458
parent windows, 23, 129–130
Parity field, 591
parseBlobToRecs routine, 680
partial screen displays, GAPI, 1002
Pascal language stack frames, 25
PatBlt function, 74
Pause key, 97
PauseDeviceEnum method, 714
pbBuffer parameter, 970
pbProviderSpecificBuffer parameter, 970
pbProviderSpecificData parameter, 967
PBT_POWERINFOCHANGE, 1040, 1042
PBT_POWERSTATUSCHANGE, 1040
PBT_RESUME, 1040
PBT_TRANSITION, 1040
pBuffer parameter, 1089
pBuffer pointer, 1058
pBufIn parameter, 1061
pBufOut parameter, 1061
PBYTE variable, 763
PC connectivity. See desktop connectivity
pcbOutput parameter, 763
pcBytesNeeded parameter, 580
PCEGUID parameter, 456
pceun parameter, 563
pcHandlesNeeded parameter, 580
pCharacterBuffer parameter, 99
pcImDataSize field, 901
pclsid parameter, 863
pContext parameter, 1056
pcRefCount field, 312
PCur value, 795
PDA devices, 5
PDA options, 832–833
pDestInfo, 965
pdwBufferLen parameter, 1089
pdwDllBuf parameter, 1088
pdwErrorMargin parameter, 973
pdwFlags parameter, 533
pdwServiceEntries parameter, 1089
pdwStatus parameter, 963
PEGPROPIDs, 445
Pending method, 1138
pens, 75–78
period key, 95
permanent menu additions, 849
persistent connections, 618
personal area networking (PAN), 637
pfnCallBack field, 310
pfnDlgProc field, 311
pguid parameter, 442, 444
ph parameter, 959
phantom frame buffer, 1002–1003
phConnection parameter, 962
phkResult parameter, 418
phMessageAvailableEvent parameter, 966
phone. See cell phones
phone API, 958–961
PhoneCloseCallLog function, 961
PhoneGetCallLogEntry function, 959
PhoneMakeCall function, 958–959
PHONEMAKECALLINFO structure, 958
PhoneOpenCallLog function, 959–961
PhoneSeekCallLog function, 961
phSvc parameter, 779
physical address space, 1026
physical memory, 359
pictures. See drawing; painting
pidls (pointer to an ID list), 801–802
Pie function, 74
pIn parameter, 1097
pInput parameter, 763
P/Invokearguments, 1142–1146
arrays, 1144
data types, 1142
described, 1139
examples, 1140–1142
strings, 1145–1146
structures, 1143
piRecord parameter, 961
pixelsbitmaps, 67
brushes, 77
vs. dialog unit conversions, 299
fonts, 53–54
GAPI, 997, 999
lines, 75
overview, 4
rectangles, 78
placement, dialog box, 298–302
Platform Invokearguments, 1142–1146
arrays, 1144
data types, 1142
described, 1139
examples, 1140–1142
strings, 1145–1146
structures, 1143
platformsaddress space, 1025–1027
Hello World applications, 10
versions, 1028–1033
plus sign key, 95
PMCF_DEFAULT, 959
PMCF_PROMPTBEFORECALLING, 959
PMCLASS_GENERIC_DEVICE, 1067
PMEMORY_BASIC_INFORMATION structure, 369
pMesh parameter, 82
PName value, 795
pndBuffer parameter, 863
PnpId registry value, 1052
Pocket PC. See Pocket PC applications; Pocket PC shell
connectivity, 747
dialog box support, 864–869
free-memory levels, 381–384
full-screen windows, 871
memory management, 871
navigation buttons, 824
New menu, 849–859
notifications, 859–864
overview, 5, 831–833
vs. Pocket PC–like devices, 831, 833
SIP control, 872–874
SMS messages, 965
Start menu, 805
Pocket PC applicationsCtrl+Q, 847
differences, 843–848
examples, 834–843
main window size, 845
menu bars, 844
overview, 834
project templates, 848–849
single instance, 834, 843
SIP, 846–847
Pocket PC AppWizard, 265
Pocket PC AutoRun, 869–871
Pocket PC Phone Edition, 832
Pocket PC shellcustom input methodscomponents, 896
examples, 905–928
IIMCallback interface, 896–897, 902–905, 928
IIMCallback2 interface, 896, 902–905, 928
IInputMethod interface, 895–901, 907
IInputMethod2 interface, 895–902, 928
overview, 895
threads, 896
vs. Explorer shell, 799–800
overview, 833–834
special folders, 801
Today screendebugging, 881
described, 833
examples, 881–895
implementing, 876–880
item window, 878–879
options dialog, 880
overview, 875
refreshing, 880
registering, 880
user interaction, 879
poid parameter, 447
point size, fonts, 53
POINT structure, 74
pointer to an ID list (pidls), 801–802
pointersdatabase, 447, 449, 452
file, 390–391
window class extra space, 21
points, stylus, 111
PolyBezierTo function, 74
Polygon function, 80
polygons, 80
Polyline function, 74
pop-up menus, 179–183, 187, 266
port field, 642
PORTEMUPortParams structure, 688, 691
ports. See device drivers; serial communication; super service
positionsstylus, 110
window, 23
PostKeybdMessage function, 99
PostMessage method, 1135
PostQuitMessage, 36
pOut parameter, 1092
Power array, 1069
Power button, 96
Power Control Panel applet, 882
power managementbatteries, 358, 501, 882
changingoverview, 1036
preventing suspensions, 1039
screen displays, 1036–1038
suspending system, 1036
waking devices, 1039
drivers, 1067–1070
overview, 1033
powering down, 1036
powering up, 1039
serial communication, 598
states, 1033–1043
Power Managerdevice drivers, 1067
notifications, 1040–1042
overview, 1039
setting state, 1042–1043
POWER_BROADCAST structure, 1041
POWER_CAPABILITIES structure, 1068
PowerDown function, 1059, 1091
PowerEventHandler delegate, 1123
POWER_FORCE, 1043
powering down, 1036
powering up, 1039
POWER_NAME, 1043, 1068
POWER_NOTIFY_ALL, 1040
POWER_RELATIONSHIP structure, 1068–1069
POWER_STATE_BOOT, 1041
POWER_STATE_CRITICAL, 1041
POWER_STATE_IDLE, 1041
POWER_STATE_OFF, 1041
POWER_STATE_ON, 1041
POWER_STATE_RESET, 1041–1042
POWER_STATE_SUSPEND, 1041
PowerUp function, 1060, 1091
ppFindData parameter, 756
ppFindDataArray parameter, 754
ppIRAPIStream parameter, 763, 767
ppOutput parameter, 763
PPOWER_BROADCAST_POWER_INFO structure, 1042
ppvBits parameter, 71
pRange array, 678
pRecord parameter, 682
predefined brushes, 21
predefined RAPI functions, 751–758
predefined sort orders, 452
predefined window classes. See controls
preempted threads, 523
Prefix registry value, 1048
prefixes, Hungarian, 6–7
preventing power suspensions, 1039
previous key state, 97
prgbCachedData field, 877, 880
Print dialog boxes, 315
Print Screen key, 94, 97
printer DC, 44
printf function, 818
printf statement, 9, 11, 13, 762, 776
printf style, 1071
priorities, thread scheduling, 499–501, 504–505
priority classes, 499
priority inversions, thread, 501
proceduresdialog boxes, 303–308
property pages, 313
PROCESS_ATTACH, 878
processes. See also interprocess communication
address space, 1026
creating, 494–497
described, 489
events, 512
overview, 493
terminating, 497–498
waiting on, 515
PROCESS_INFORMATION structure, 495, 516
PROCESSOR_ARCHITECTURE_ATM, 361
PROCESSOR_ARCHITECTURE_INTEL, 361
PROCESSOR_ARCHITECTURE_SHx, 361
PROCESSOR_HITACHI_SH3, 361
PROCESSOR_HITACHI_SH4, 361
program memory, 358
Programs folder, 801
Programs menu, 930
Programs submenu, 805
progress bar control, 206, 295
project templates, 848–849
properties, database, 439–440, 455
property IDs, 445, 451
property pagesadding, 312
creating, 311–313
described, 308
procedures, 313
removing, 312
switching, 314
property sheetsclosing, 314
creating, 309–310
described, 297
examples, 352
modeless, 309
overview, 308
pages, 311–314
Pocket PC, 868–869
PropertyBag object, 718–719
PropertySheet function, 309
propidfield, 451
proportional fonts, 54
PROPSHEETHEADER structure, 309, 311, 868
PROPSHEETPAGE structure, 311, 313, 351, 868
PropSheetPageProc function, 868
Protect field, 370
protected functions, 525
protected registry keys, 525
Protocol registry value, 1094
protocols, SMS messages, 973
proxies, Smartphone connections, 962
PSCB_GETLINKTEXT, 310, 353, 869
PSCB_GETTITLE, 310
PSCB_GETVERSION, 310
PSCB_INITIALIZE, 352
PSCB_INITIALIZED, 310, 868
PSCB_PRECREATE, 310
PS_DASH, 76
pShiftStateBuffer parameter, 99
PSH_MAXIMIZE, 868
PSH_MODELESS, 309
PSH_PROPSHEETPAGE, 310
PSH_PROPTITLE, 309
PSH_USECALLBACK, 868
PSH_USEPSTARTPAGE, 310
PS_INSIDEFRAME, 79
PS_MESSAGE_CLASS, 968
PS_MESSAGE_CLASSUNSPECIFIED, 968
PSM_ADDPAGE, 312
PSM_REMOVEPAGE, 312
psmsaDestinationAddress parameter, 967
psmsaSMSCAddress parameter, 967
psmshHandle parameter, 966
PSN_APPLY, 314, 351
PSN_KILLACTIVE, 314
PSN_QUERYCANCEL, 314
PSN_RESET, 314
PSNRET_NOERROR, 314
PSNRET_VALID_NOCHANGEPAGE, 314
PS_NULL, 76
PSN_SETACTIVE, 314
pSort parameter, 447
PSP_DLGINDIRECT, 311
PSP_PREMATURE, 312–313
PSP_USECALLBACK, 312
PSP_USEREFPARENT, 312
PSP_USETITLE, 311
psReplaceOption field, 968
PSRO_NONE, 968
PSRO_REPLACE_TYPEn, 968
PS_SOLID, 76
PST_FAX, 595
PST_MODEM, 595
pstReceiveTime parameter, 970
pstValidityPeriod parameter, 967
pszAppName field, 959
pszCalledParty field, 959
pszCaption field, 309
pszComment field, 959
pszDestAddress field, 959
pszHTML field, 861
pszIcon field, 310
pszMenu parameter, 210
pszNameType field, 960
pszNewApp parameter, 826
pszNote field, 960
pszNumber field, 960
pszPath parameter, 778
pszTemplate/pResource, 311
pszTitle field, 311, 862
ptDown field, 118
PtInRect function, 127
PtrToStringUni method, 1146
public designations, 1122
publishing services, Bluetooth, 682–685
puChar parameter, 904
pull model, 15
PulseEvent function, 513
PUN_DIALOG, 560
pUnk1 parameter, 715
pUnk2 parameter, 715
PUN_LED, 560
PUN_REPEAT, 560
PUN_SOUND, 560
PUN_VIBRATE, 560
PURE, 265
PurgeComm function, 595
PURGE_RXABORT, 596
PURGE_RXCLEAR, 596
PURGE_TXABORT, 596
PURGE_TXCLEAR, 596
push buttons, 137
push model, 15
Push protocol, 714
puShift parameter, 904
Put method, 720
pvDevice parameter, 1068
pvImData field, 873, 900
pvSystemState, 1043
PwrDeviceMaximum, 1068
PwrDeviceUnspecified, 1068–1069
pwszBuf parameter, 823
pwszDialogText field, 560
pwszDialogTitle field, 560
pwszSound field, 560