| |
| |
Figures | |
| |
| |
Preface | |
| |
| |
| |
Winsock | |
| |
| |
A Quick Look at TCP/IP | |
| |
| |
A Breakdown of TCP/IP | |
| |
| |
TCP/IP Addresses | |
| |
| |
Ports | |
| |
| |
Winsock Basics | |
| |
| |
Initializing and Cleaning Up | |
| |
| |
Winsock Errors | |
| |
| |
Differences between Windows and Pocket PC Winsock Implementations | |
| |
| |
TCP/IP, ActiveSync, and Pocket PC Emulation Issues | |
| |
| |
Streaming (TCP) Sockets | |
| |
| |
Creating a Socket | |
| |
| |
Connecting to a Server (from the Client) | |
| |
| |
Sending and Receiving Data | |
| |
| |
Receiving an Incoming Connection (Server) | |
| |
| |
Closing a Socket | |
| |
| |
Connectionless (UDP) Sockets | |
| |
| |
Sending a UDP Datagram | |
| |
| |
Receiving a UDP Datagram | |
| |
| |
TCP versus UDP: What Should Your App Use? | |
| |
| |
Internet Control Message Protocol (ICMP) | |
| |
| |
Socket Options | |
| |
| |
Broadcast Sockets | |
| |
| |
Secure Sockets | |
| |
| |
Blocking and Nonblocking Sockets | |
| |
| |
Support Functions | |
| |
| |
Connected Peer Functions | |
| |
| |
Host Names | |
| |
| |
Name Resolution | |
| |
| |
Byte Order | |
| |
| |
IP Multicasting | |
| |
| |
IP Multicast Groups | |
| |
| |
Sending and Receiving Multicast Data | |
| |
| |
| |
WinInet | |
| |
| |
Windows Internet Overview (WinInet) | |
| |
| |
Handling WinInet Errors | |
| |
| |
Internet Connections and Proxies | |
| |
| |
Uniform Resource Locators (URLs) | |
| |
| |
Internet Cache (Temporary Internet Files) | |
| |
| |
Internet Options | |
| |
| |
Differences between Windows and Pocket PC WinInet | |
| |
| |
Using WinInet | |
| |
| |
Hypertext Transfer Protocol (HTTP and HTTPS) | |
| |
| |
The HTTP Protocol | |
| |
| |
Cookies | |
| |
| |
Making an HTTP Request | |
| |
| |
Getting Information from the HTTP Headers | |
| |
| |
Reading HTTP Results | |
| |
| |
Additional WinInet HTTP Functions | |
| |
| |
File Transfer Protocol (FTP) | |
| |
| |
The FTP Protocol | |
| |
| |
Establishing an FTP Connection | |
| |
| |
FTP Navigation and Manipulation | |
| |
| |
Working with Files | |
| |
| |
| |
Internet Protocol Helper APIs | |
| |
| |
Network Adapters and Configuration | |
| |
| |
Adapter Management | |
| |
| |
Network Interfaces | |
| |
| |
IP Addresses | |
| |
| |
DHCP-Assigned IP Addresses | |
| |
| |
Address Resolution Protocol Information (ARP) | |
| |
| |
The ARP Table | |
| |
| |
ARP Table Entries | |
| |
| |
Sending an ARP Message | |
| |
| |
ARP Proxy Entries | |
| |
| |
Network Layer Protocol Statistics | |
| |
| |
Internet Control Message Protocol (ICMP) | |
| |
| |
Internet Protocol (IP) | |
| |
| |
Transport Layer Protocol Statistics | |
| |
| |
Transmission Control Protocol (TCP) | |
| |
| |
User Datagram Protocol (UDP) | |
| |
| |
Route Tables | |
| |
| |
Route Table Entries | |
| |
| |
Route Support Functions | |
| |
| |
Network Event Notification | |
| |
| |
| |
Network Redirector | |
| |
| |
Pocket PC and Windows Networking | |
| |
| |
Network Names | |
| |
| |
Universal Naming Convention | |
| |
| |
The \Network Folder | |
| |
| |
Handling Network Errors | |
| |
| |
Differences between Windows and Pocket PC Network APIs | |
| |
| |
Mapping Network Resources | |
| |
| |
Connecting to the Network | |
| |
| |
Disconnecting a Network Connection | |
| |
| |
Using the Network Connections Dialog Box | |
| |
| |
Using Network Resources | |
| |
| |
Enumerating Network Resources | |
| |
| |
Getting Network Resource Information | |
| |
| |
Working with Files | |
| |
| |
Printing on the Network | |
| |
| |
| |
Using Serial and Infrared Ports | |
| |
| |
Serial Communications | |
| |
| |
Opening a Connection | |
| |
| |
Configuring the Serial Port | |
| |
| |
Controlling Data Flow | |
| |
| |
Reading and Writing Serial Data | |
| |
| |
Retrieving Error and/or Status Information | |
| |
| |
Serial Event Notification | |
| |
| |
Closing the Connection | |
| |
| |
Differences between Windows and Pocket PC Serial APIs | |
| |
| |
Serial Communication Cables | |
| |
| |
Serial Connectors | |
| |
| |
NULL Modems and Cables | |
| |
| |
Infrared | |
| |
| |
Raw Infrared (Raw IR) | |
| |
| |
IrCOMM | |
| |
| |
Infrared Sockets (IrSock) | |
| |
| |
| |
Remote Access Service | |
| |
| |
Remote Access Overview | |
| |
| |
Differences between Windows and Pocket PC PPP | |
| |
| |
Remote Access Phonebook | |
| |
| |
Adding a Phonebook Entry | |
| |
| |
User Credentials | |
| |
| |
Modifying Existing Entries | |
| |
| |
Copying Entries | |
| |
| |
Removing Entries | |
| |
| |
Enumerating Entries | |
| |
| |
Remote Access Devices | |
| |
| |
Establishing a RAS Connection | |
| |
| |
Synchronous Mode | |
| |
| |
Asynchronous Mode | |
| |
| |
Closing a Connection | |
| |
| |
Connection Management | |
| |
| |
Enumerating Connections | |
| |
| |
Connection Information | |
| |
| |
The Remote Network Access (RNA) Dialer | |
| |
| |
Creating a RAS Connection with rnaapp.exe | |
| |
| |
Working with rnaapp.exe | |
| |
| |
| |
Connection Manager | |
| |
| |
Understanding the Connection Manager | |
| |
| |
Preparing the Connection Manager | |
| |
| |
URLs and Network Identifiers | |
| |
| |
Enumerating Network Identifiers | |
| |
| |
Establishing and Maintaining Connections | |
| |
| |
Establishing Connections | |
| |
| |
Getting the Connection Status | |
| |
| |
Connection Priorities | |
| |
| |
Disconnecting from an Active Connection | |
| |
| |
Connection Service Providers and Proxies | |
| |
| |
Scheduled Connections | |
| |
| |
| |
Pocket PC Phone Edition | |
| |
| |
Phone API | |
| |
| |
Call History | |
| |
| |
Making a Phone Call | |
| |
| |
SIM Manager | |
| |
| |
Initialization and Notifications | |
| |
| |
SIM Details | |
| |
| |
The SIM Phonebook | |
| |
| |
Working with SIM-Based Messages | |
| |
| |
The SIM File System | |
| |
| |
Reading and Writing Records | |
| |
| |
SIM Locking | |
| |
| |
Short Message Service (SMS) | |
| |
| |
SMS Addresses | |
| |
| |
SMS Service Center (SMSC) | |
| |
| |
Opening the SMS Service | |
| |
| |
SMS Message Protocols | |
| |
| |
Sending a Message | |
| |
| |
Reading a Message | |
| |
| |
Closing the SMS Handle | |
| |
| |
Broadcast Message Range | |
| |
| |
SMS Notifications | |
| |
| |
Getting Additional Information from the SIM | |
| |
| |
| |
Desktop Syncrhonization | |
| |
| |
The ActiveSync Manager | |
| |
| |
Using the ActiveSync Manager | |
| |
| |
Remote API (RAPI) | |
| |
| |
Using RAPI | |
| |
| |
System Configuration and Information RAPI Functions | |
| |
| |
Shell RAPI Functions | |
| |
| |
Window RAPI Functions | |
| |
| |
Creating Your Own RAPI Functions | |
| |
| |
CEUtil Helper APIs | |
| |
| |
Finding Partnered Devices | |
| |
| |
Working with a Partnered Device's Configuration Information | |
| |
| |
Getting and Setting Values | |
| |
| |
Adding a Custom Menu Item to ActiveSync | |
| |
| |
File Conversion (File Filters) | |
| |
| |
Registering a File Filter | |
| |
| |
File Filter Interfaces Overview | |
| |
| |
Writing a Custom File Filter | |
| |
| |
Synchronization Service Providers | |
| |
| |
Writing a Desktop Synchronization Provider Module | |
| |
| |
Writing the Device Provider Module | |
| |
| |
Desktop Connection Notifications | |
| |
| |
Using the Desktop Registry for Connection Notifications | |
| |
| |
COM Desktop Notifications | |
| |
| |
| |
Pocket Outlook Object Model | |
| |
| |
The Pocket Outlook Object Model | |
| |
| |
A Word about Object Identifiers (OIDs) | |
| |
| |
The IPOutlookApp Interface | |
| |
| |
Accessing Pocket Outlook Folders | |
| |
| |
Working with Time Zones | |
| |
| |
Pocket Outlook Folders | |
| |
| |
Sending and Receiving Items over Infrared | |
| |
| |
Outlook Data Collections | |
| |
| |
Adding and Deleting Folder Items | |
| |
| |
Sorting Items | |
| |
| |
Finding and Filtering Outlook Items | |
| |
| |
The IPOIItems Interface | |
| |
| |
Outlook Items | |
| |
| |
The IContact Interface | |
| |
| |
The IAppointment Interface | |
| |
| |
The ITask Interface | |
| |
| |
Using Recurrence Patterns in Appointments and Tasks | |
| |
| |
Creating Pocket Outlook Plug-ins | |
| |
| |
| |
E-mail | |
| |
| |
MAPI Overview | |
| |
| |
A Word about MAPI Transports | |
| |
| |
Building E-mail Client Applications | |
| |
| |
Working with MAPI Objects and Data Types | |
| |
| |
Entry Identifiers | |
| |
| |
MAPI Object Properties | |
| |
| |
MAPI Tables | |
| |
| |
MAPI Object Memory Allocation | |
| |
| |
MAPI Session Handling | |
| |
| |
Accessing MAPI Objects | |
| |
| |
Working with Message Stores | |
| |
| |
MAPI Folders | |
| |
| |
Messages | |
| |
| |
Message Address Lists | |
| |
| |
Common Tasks with MAPI | |
| |
| |
Opening a Message Store | |
| |
| |
Creating a New Message | |
| |
| |
Reading a Message | |
| |
| |
Working with Message Attachments | |
| |
| |
MAPI Notifications | |
| |
| |
Receiving Notifications | |
| |
| |
| |
The .NET Compact Framework | |
| |
| |
Networking with the Compact Framework | |
| |
| |
TCP/IP Addresses | |
| |
| |
Name Resolution | |
| |
| |
Winsock and .NET | |
| |
| |
The Generic Socket Class | |
| |
| |
TCP Connections | |
| |
| |
Sending and Receiving Data over UDP | |
| |
| |
Internet Protocols and the .NET Pluggable Protocol Model | |
| |
| |
Creating a Pluggable Protocol | |
| |
| |
Accessing Content on the Web | |
| |
| |
Consuming Web Services | |
| |
| |
The Microsoft TerraServer Web Service | |
| |
| |
Pocket PC and P/Invoke | |
| |
| |
Sending an SMS Message from .NET | |
| |
| |
Index | |