Index
I
iBitmap field, 213
iButton parameter, 210, 215, 219
ICC_BAR_CLASSES, 206
ICC_CAPEDIT_CLASS, 207
ICC_COOL_CLASSES, 206
ICC_DATE_CLASSES, 206, 286, 289
ICC_LISTVIEW_CLASSES, 206, 292
ICC_PROGRESS_CLASS, 206
ICC_TAB_CLASSES, 206
ICC_TOOLTIP_CLASSES, 207
ICC_TREEVIEW_CLASSES, 206
ICC_UPDOWN_CLASS, 207
IClass registry value, 1066
IClassFactory interface, 907
ICMP (Internet Control Message Protocol), 641
icons
flags, 13–14
resource files and, 184
Smartphone, 930, 948
taskbar, 808–816
ID lists, item, 801
id parameter, 823
ID values, resource, 183
IDABORT, 14
idBitmap parameter, 211
IDB_STD_SMALL_COLOR, 211
ID_BTNBARRES, 942
IDB_VIEW_SMALL_COLOR, 211
IDCANCEL, 14, 304, 306, 313
IDccMan interface, 784
IDccManSink interface, 784
idComboBox parameter, 219
identifying
files, 395
items, 800
microprocessors, 360
platforms, 1032
services, 677–681
IDeviceEnum interface, 717
idFrom field, 207
IDIGNORE, 14
ID_MENU, 942
idMenu parameter, 210
IDM_MENU, 265
IDM_NEWMENUMAX, 859
IDM_SHAREDNEW, 266, 849
IDM_SHAREDNEWDEFAULT, 266
idNewItem parameter, 179
IDNO, 14
IDOK, 14, 304, 306, 313, 948
IDRETRY, 14
ID_TODAY_CUSTOM, 876
ID_VIEWMENU, 269
IDYES, 14
if statement, 523
ifClipPrecision field, 54
ifFaceName field, 54
ifPitchAndFamily field, 54
IID_INewMenuItemServer interface, 849
iImage field, 240, 242
I_IMAGENONE, 266, 941
IIMCallback interface, 896–897, 902–905, 928
IIMCallback2 interface, 896, 902–905, 928
IIMCallbackEx interface, 896
IInputMethod interface, 895–901, 907
IInputMethod2 interface, 895–902, 928
IM (input method), SIP
described, 895
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, 896
threads, 896
image index values, 212–213, 268
image list control, 237
image references, command bar, 213–215
ImageList_Add function, 237
ImageList_Create function, 237
ImageList_Duplicate function, 216
IMalloc interface, 802
imaxmtu field, 689
iMaxSockets parameter, 639
iMaxUdpDg field, 639
IME (Input Method Editor), 895, 902
IMINFO structure, 898, 903
immediate painting, 42
immediately reserving memory blocks, 366
IMMF_CAPSLOCK, 952
IMMF_SETCLR_CAPSLOCK, 952
IMMF_SETCLR_SHIFT, 952
IMMF_SHIFT, 952
immutable strings, 1123
import tables, 490
Imports keyword, 1119
imtu field, 689
iNarrow field, 899
Inbox item, 875
Index registry value, 1048, 1086
index values, 212–213, 242, 268
indexes, 439–440
indirect frame buffer access, 1002–1003
informational dialogs, 866–867
infrared communication
described, 637
IrSock
blocking vs. nonblocking, 648–651
examples, 651–670
options, 647–648
overview, 645–647
Infrared Data Association (IrDA). See IrDA (Infrared Data Association)
infrared links, 795
Init function, 1056, 1087, 1089, 1095
InitCommonControls function, 206, 292
InitCommonControlsEx function, 206, 286, 289
Initialize method, 714
InitializeCriticalSelection function, 522
InitializeCustomItem function, 876–879, 894
initialized read/write data, 378
initializing
common controls, 206
date and time picker control, 289
GAPI, 998–1001
month calendar control, 287
RAPI, 750
RAPI sessions, 761
Winsock, 638–639
InitInstance function, 33–34
InitInstance procedure, 545
inking, 110–116
input
keyboards
examples, 100–108
functions, 98–100
input focus, 92
messages, 92–98
overview, 91
testing for, 100
mouse messages, 109–110, 116–117
overview, 91
stylus messages, 110
touch screens
examples, 118–127
inking, 110–116
input focus, 116–117
overview, 110
right-button clicks, 117–118
input dialogs, 866–867
input focus, 92, 116–117
input method, Pocket PC. See Pocket PC shell
input method (IM), SIP
described, 895
examples, 905–928
IIMCallback interface, 902–905
IIMCallback2 interface, 902–905
IInputMethod interface, 897–901
IInputMethod2 interface, 897–902
overview, 896
threads, 896
Input Method Editor (IME), 895, 902
input panel, SIP, 896, 903
InputPanel class, 1136–1137
InrunshDx field, 1069
Insert key, 94
InsertMenu function, 179
installable drivers. See stream device drivers
instance handles, Hello World applications, 21, 23
interface classes, device, 1065–1067
interlocked variable access, 523–525
InterlockedCompareExchange function, 524
InterlockedCompareExchangePointer function, 525
InterlockedDecrement function, 524
InterlockedExchange function, 524
InterlockedExchangeAdd function, 525
InterlockedExchangePointer function, 525
InterlockedIncrement function, 524
InterlockedTestExchange function, 524
international considerations, 54, 98
Internet Control Message Protocol (ICMP), 641
interprocess communication
databases, 534
examples, 535–549
files, 534
finding processes, 527–528
memory-mapped objects, 529–530
message queues, 531–534
overview, 527
WM_COPYDATA, 528
interrupt conditions, system power and, 1039
iNumImages parameter, 211
invalid window areas, 27, 40–41
InvalidateRect function, 41, 108
INVALID_HANDLE_VALUE, 389, 411, 586
INVALID_SOCKET, 641, 643
invoking user-defined RAPI functions, 762
I/O control (IOCTL). See IOCTL
commands
I/O functions
closing files, 391
creating files, 388–390
examples, 396–405
file times, 393–394
information queries, 392–395
library functions, 817
opening files, 388–390
overview, 387
pointer adjustments, 391
reading files, 390
size queries, 394–395
truncating files, 392
writing files, 390
IObex interface, 714, 716
IObex2 interface, 714
IObexDevice interface, 714, 718
IObexSink interface, 714, 717
IOControl function, 1060–1065, 1090–1091
IOCTL codes, 1053, 1061
IOCTL commands
device interface classes, 1065–1067
passing to volume, 390
serial ports, 589
services, 1088–1094
super service, 1097–1098
virtual COM ports, 690–692
IOCTL_ASYNC, 1083
IOCTL_BLUETOOTH_GET_PEER_DEVICE, 692
IOCTL_BLUETOOTH_GET_RFCOMM_CHANNEL, 691
IOCTL_CHECKSUM, 1065
IOCTL_POWER_GET, 1069
IOCTL_POWER_QUERY, 1069
IOCTL_POWER_SET, 1070
IOCTL_PSL_NOTIFY, 1084
IOCTL_REGISTER_POWER_RELATIONSHIP, 1069
IOCTL_SERVICE_CALLBACK_FUNCTIONS, 1094
IOCTL_SERVICE_CONNECTION, 1097
IOCTL_SERVICE_CONSOLE, 1093
IOCTL_SERVICE_CONTROL, 1093
IOCTL_SERVICE_DEBUG, 1093
IOCTL_SERVICE_DEREGISTER_SOCKADDR, 1097
IOCTL_SERVICE_INSTALL, 1092
IOCTL_SERVICE_NOTIFY_ADDR_CHANGE, 1097
IOCTL_SERVICE_QUERY_CAN_DEINIT, 1092
IOCTL_SERVICE_REFRESH, 1091
IOCTL_SERVICE_REGISTER_SOCKADDR, 1097
IOCTL_SERVICE_START, 1091
IOCTL_SERVICE_STARTED, 1097
IOCTL_SERVICE_STATUS, 1092
IOCTL_SERVICE_STOP, 1091
IOCTL_SERVICE_SUPPORTED_OPTIONS, 1094
IOCTL_SERVICE_UNINSTALL, 1092
ioctlsocket function, 649
iom field, 960
IP addresses, 795
IP_ADAPTER_INFO structure, 1097
IPropertyBag interface, 715
iProtocol registry value, 1096
IRAPIStream interface, 767, 773, 776
IrDA (Infrared Data Association). See also stream sockets
described, 637
IrSock
blocking vs. nonblocking, 648–651
examples, 651–670
options, 647–648
overview, 645–647
vs. Winsock, 645
.NET Compact Framework classes, 1137–1139
irdaAddressFamily field, 642
IrDAClient class, 1137, 1162
irdaDeviceID field, 642
IRDA_DEVICE_INFO structure, 646
IrDAListener class, 1138, 1162
irdaServiceName field, 642
iRecord parameter, 961
irecvquota field, 689
IRLMP_9WIRE_MODE, 648
IRLMP_ENUMDEVICES, 645, 648
IRLMP_IAS_QUERY, 648
IRLMP_IAS_SET, 648
IRLMP_IRLPT_MODE, 648
IRLMP_SEND_PDU_LEN, 648
IRLMP_SHARP_MODE, 648
IrSock
blocking vs. nonblocking, 648–651
examples, 651–670
options, 647–648
overview, 645–647
vs. Winsock, 645
IsDialogMessage function, 308
ISdpRecord interface, 680
isendquota field, 689
IShellNotificationCallback interface, 861
IStream interface, 720, 767
iString field, 214
item IDs, 800
item window. See Today screen
itemAction field, 139
itemData field, 139
items, described, 800
itemState field, 139
iterating windows, 131
iUsage parameter, 71
IVal data type, 440
iWide field, 899
iWidth parameter, 219