Part IV: Professional Database Development
942
Access applications with the ability to display dialog boxes that are consistent with other Windows
applications and work exactly as your users expect.
DLL Documentation
Windows ships with a large number of DLLs, and many application vendors distribute their own
DLLs with their applications. Microsoft has documented its core DLLs so that developers can expe-
rience the advantages listed in the preceding section. Of course, this strategy has benefited
Microsoft as well. By making it easier for programmers to write applications for Windows,
Microsoft has made Windows the most popular development platform.
Not every vendor documents its DLLs, however. Many consider the DLLs distributed with their
applications as proprietary property, so they don’t make the interfaces for those applications avail-
able to the public.
Caution
If a vendor doesn’t formally release documentation for its libraries, using them is usually not good practice,
even if some outside documentation exists. A vendor could remove or change functions within a library with-
out notification, making any applications that you’ve based on them unreliable at best, unusable at worst.
Finding the documentation
Microsoft has released Software Development Kits (SDKs) for many of its products, including
ODBC, MAPI, and, of course, Win32. These kits contain not only general product information but
also documentation for the core DLLs included in the products. They comprise a wealth of
resources, documenting each function, argument, return value, data type, and so on. You can pur-
chase the SDKs directly from Microsoft, or, if you’re a member of the Microsoft Developer Network
(MSDN), you can get them with the MSDN library, where they’re included.
Making sense of the documentation
The good news: Microsoft releases documentation of its APIs. The bad news: The Windows API
documentation is pretty cryptic and designed primarily to be used by C and C++ programmers.
Most of Microsoft’s high-level product documentation assumes that you’re already an experienced
developer. The “official” API documentation from Microsoft is not for the faint of heart.
The hardest part of understanding API documentation is deciphering data types. Many books, arti-
cles, and the Microsoft documentation have standards for referring to data types. When you know
what kind of data type is being referred to, and how that type translates to Access, the battle is
mostly over.
The C/C++ programming languages contain many different data types, most of which have Access
VBA equivalents and some of which do not. Occasionally, the arguments included with API func-
tions are structures composed of several different data types. Table 27.1 shows each C/C++ data
type, its size, and its Access VBA equivalent.