search for books and compare prices
Tables of Contents for Visual C++ .Net
What does this book cover?
2
1
What you need to use this book
2
1
Customer support and feedback
3
4
Source code and updates3
1
Errata3
1
Technical support4
1
p2p.wrox.com4
3
What's new in Visual C++?
7
24
The common language runtime8
1
Garbage collection9
1
Code portability9
1
Language interperability9
1
Code security9
1
Access to the .NET Framework class library10
1
Properties of managed code10
1
Deployment10
1
Versioning10
1
The .NET Framework class library10
1
ASP.NET applications11
1
Windows applications11
1
Console applications12
1
Web services12
1
New features of Visual Studio .NET
12
10
Old Wizards with new looks14
1
MFC Application14
4
MFC DLL18
1
MFC ActiveX Control18
1
MFC ISAPI Extension DLL19
1
Makefile Project19
1
Win32 Project19
1
Custom Wizard20
1
Extended Stored Procedure DLL20
1
The new Wizards20
1
Managed C++ Application20
1
Managed C++ Class Library21
1
Managed C++ Empty Project21
1
Managed C++ Web Service21
1
ATL Project21
1
ATL Server Project22
1
ATL Server Web Service22
1
Cross-language development and debugging
22
7
Cross-language example22
2
Writing a class using C++24
1
Writing a class using Visual Basic .NET25
1
Writing a class using C#26
2
Debugging28
1
Introduction to Managed C++
31
50
Language interoperability
32
6
Metadata32
1
Common Type System (CTS)33
1
The .NET Framework class library33
1
Strings34
4
The managed environment
38
5
Managed code and managed data38
1
Garbage collection39
1
Reference types and value types39
1
Creating managed code40
1
Compiler options40
2
Simple example42
1
Using Managed Extensions
43
35
gc types44
1
Classes and structures44
7
Interfaces51
1
Pointers52
3
References55
1
Arrays55
4
value types59
1
Declaring___value classes and structures60
2
Boxing and unboxing62
1
value enums63
1
Properties64
1
Scalar properties64
1
Indexed properties65
2
Delegates67
2
Multicasting69
1
Events70
2
Exceptions72
1
Throwing, try/catch, and___finally72
5
The___identifier keyword77
1
Summary of keywords77
1
Assembly structure82
1
Linker options83
1
Key features of assemblies84
1
Creating a class library85
2
Type accessibility87
1
Creating an application88
2
Examining assemblies using ILDasm
90
5
The assembly manifest93
1
AssemblyInfo.cpp94
1
Shared assemblies and private assemblies
95
9
Creating shared assemblies96
1
Shared assembly names96
1
Generating a strong name97
1
Signing the assembly97
1
Signcode digital signature98
1
Setting the version number98
1
Getting the version number programmatically99
1
The global assembly cache100
1
Global assembly cache viewer100
2
Installing a shared assembly into the GAC102
1
Native image generation103
1
Using a shared assembly103
1
Replacing the strong name key for delivery103
1
Working with resources
105
4
Creating a resource file105
1
ResGen106
1
ResourceWriter106
1
Using Visual Studio .NET to build .resources files106
3
Accessing resource files110
1
ResourceManager110
1
ResourceReader111
1
Dynamic resources112
1
Attributes and reflection
119
36
C++ attributes121
1
.NET attributes122
1
The predefined .NET attributes123
7
Attributes as classes130
2
The AttributeUsage attribute132
2
Writing custom attributes134
3
The ListColors sample138
2
Invoking a member140
2
The System::Type class142
1
Obtaining a System::Type reference142
1
System::Type properties and methods143
2
Listing types: the musical instruments sample145
4
Combining attributes and reflection
149
3
.NET Framework utility classes
155
48
StringBuilder156
2
Regex158
1
Pattern matching159
2
File and FileStream161
1
Opening files161
1
Reading from and writing to files161
1
Closing files162
1
StreamReader and StreamWriter163
1
ArrayList165
1
Sorting166
1
SortedList166
2
The IComparer interface168
1
Implementing IComparer169
3
The IEnumerator interface172
1
Implementing IEnumerator172
3
Building a client175
1
Threading types176
1
Thread class176
3
ThreadPool class179
3
Thread synchronization types182
1
Interlocked182
3
WaitHandle185
4
Monitor189
4
ReaderWriterLock193
4
Thread exceptions197
1
SynchronizationLockException198
1
ThreadAbortException199
1
ThreadInterruptedException199
1
ThreadStateException200
1
Windows Forms and MFC
204
1
A Windows application in Managed C++
204
2
Customizing forms and adding events
206
1
Adding child controls
207
16
Working with button controls208
3
Working with text controls211
3
Selection controls214
5
More child controls219
4
Multiple document interface forms and meus
223
6
Modal and modeless forms228
1
Advanced controls in Windows Forms
229
13
Developing Windows Explorer229
8
Implementing drag-and-drop in Windows Forms237
5
Managed and unmanaged code
245
36
Mixing managed and unmanaged code
246
7
The / clr flag and It Just Works (IJW)247
1
Limitations of IJW247
1
The managed and unmanaged pragmas248
1
The___pin keyword249
1
Using managed types from unmanaged code250
3
Writing managed proxy classes
253
12
The proxy design pattern253
1
Basic wrapping steps254
1
An unmanaged linked list255
2
Wrapper construction257
1
Create a member pointer to the unmanaged class257
1
Wrapping constructors257
2
Wrapping destructors259
1
Dealing with overloaded operators259
1
Wrapping member functions259
3
Testing the managed wrapper with a C# client262
2
Other wrapping issues264
1
Variable numbers of parameters264
1
Handling default arguments264
1
Marshaling between managed and unmanaged code
265
14
The managed-to-unmanaged transition265
1
Internal call transitions266
1
IJW transitions266
1
Platform Invoke (Plnvoke) transitions266
1
When do we need to marshal?266
1
The InteropServices::Marshal class267
1
Marshaling strings267
2
PInvoke: calling unmanaged functions from managed code269
1
Using PInvoke to call exported functions in unmanaged DLLs270
2
Receiving callback notifications in a Managed C++ application using PInvoke272
2
Using PInvoke to pass structures to functions in unmanaged DLLs274
3
Explicit marshaling for non-blittable data types277
2
Performance considerations279
1
COM interoperability
281
66
The need for interoperation
282
1
Using COM components from Managed C++
283
35
Calling into a COM component from .NET284
1
Building a COM component284
4
The type library importer (TLBIMP) utility288
2
Early binding to a COM component from a Managed C++ application290
2
Late binding to a COM component from a Managed C++ application292
2
Sinking COM component events in a .NET application294
1
Building a COM component that sources events using ATL 3.0294
3
Using a Managed C++ application to sink events from a COM component297
4
Exposing a COM-based collection class to a .NET application301
1
Building a COM component that exposes a collection using ATL 3.0301
3
Using a Managed C++ application to consume a COM-based collection304
2
Using ActiveX controls from .NET applications306
2
Design-time properties308
1
Run-time properties and methods309
1
Event handling310
2
Reuse models for COM components from managed code312
4
Managed threads and COM apartments316
2
Using Managed C++ components from COM-aware C++
318
26
Building a .NET component using Managed C++319
3
Exposing .NET components to unmanaged applications322
1
The type library exporter and the assembly registration utility323
1
Consuming a Managed C++ component324
4
Sinking the events fired by a Managed C++ component328
1
Adding events to the managed component328
2
Firing events from the managed component330
2
Sinking Managed C++ events in an unmanaged C++ application332
4
Hosting Windows Forms controls in unmanaged containers336
1
Controlling how a Managed C++ class is exported to a COM type library337
1
The ClassInterface attribute337
4
The Progld and Guid attributes341
1
Controlling how a Managed C++ interface gets exported to a COM type library342
2
A simple ATL 7.0 project
349
14
Adding a component to the project354
4
Adding methods358
5
Creating an attributed project
363
7
Converting to an executable368
2
New string classes371
1
String conversion classes371
2
Example utilities project
373
4
An introduction to ATL Server
379
24
Developing a simple ATL Server application
381
11
Creating the project381
5
Generated code386
1
FirstATLServerApplication.h386
1
FirstATLServerApplication.srf387
2
Building, deploying, and running the application389
1
Modifying the code390
2
ATL Server guest book application
392
6
Modifying the SRF393
1
Implementing the handlers394
1
The GetControls tag394
1
The StoreData tag395
1
The SendMail tag396
1
The NotValidating tag397
1
The ValidateAndExchange method398
1
Building and running the project398
1
Other features of ATL Server
398
2
Thread pooling398
1
Caching399
1
Performance monitoring399
1
ATL Server web services
403
Benefits of web services
404
Web services and ATL Server
405
Creating a web service
406
Creating the project406
Hello.h407
The request_handler attribute408
The soap_handler attribute408
The soap_method attribute409
Building the project410
Running the project410
A simple service consumer412
Creating the project412
Examining the generated header413
Developing client code413
Understanding the client code414
Stock quote service project
415
Creating the database415
Stock table415
OrderDetails table416
Login table416
Relationships417
Creating the project417
Writing code417
Adding method declarations417
Implementing the methods419
Defining database mappings422
Building and testing the web service424
Developing the client424
Creating the user interface424
Adding a reference to the web service DLL428
Modifying form code429
Running the client432
<