Skip to content

Commit 6f5ecf6

Browse files
author
Colin Robertson
committed
Replace or delete all obsolete KB references
1 parent 64795eb commit 6f5ecf6

File tree

54 files changed

+48
-168
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

54 files changed

+48
-168
lines changed

docs/atl-mfc-shared/date-and-time-automation-support.md

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -37,11 +37,8 @@ The second method creates two `COleDateTime` objects, `oletime1` and `oletime2`,
3737

3838
The CRT correctly calculates a difference of 23 hours. `COleDateTimeSpan` calculates a difference of 24 hours.
3939

40-
Note that a workaround is used near the end of the example to display the date properly using `COleDateTime::Format`. See the Knowledge Base article "BUG: Format("%D") Fails for `COleDateTime` and `COleDateTimeSpan`" (Q167338).
41-
4240
[!code-cpp[NVC_ATLMFC_Utilities#176](../atl-mfc-shared/codesnippet/cpp/date-and-time-automation-support_1.cpp)]
4341

4442
## See Also
4543

4644
[Date and Time](../atl-mfc-shared/date-and-time.md)
47-

docs/atl-mfc-shared/exporting-string-classes-using-cstringt.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ In the past, MFC developers have derived from `CString` to specialize their own
1919

2020
- With the new `CStringT` template class, you can customize `CString` behavior using template parameters that specify character traits, similar to the templates in the C++ Standard Library.
2121

22-
- When you export your own string class from a DLL using `CStringT`, the compiler also automatically exports the `CString` base class. Since `CString` is itself a template class, it may be instantiated by the compiler when used, unless the compiler is aware that `CString` is imported from a DLL. If you have migrated projects from Visual C++ 6.0 to Visual C++.NET, you might have seen linker symbol errors for a multiply-defined `CString` because of the collision of the `CString` imported from a DLL and the locally instantiated version. The proper way to do this is described below. For more information on this issue, see the Knowledge Base article, "Linking Errors When you Import CString-derived Classes" (Q309801) at [http://support.microsoft.com/default.aspx](http://support.microsoft.com/default.aspx).
22+
- When you export your own string class from a DLL using `CStringT`, the compiler also automatically exports the `CString` base class. Since `CString` is itself a template class, it may be instantiated by the compiler when used, unless the compiler is aware that `CString` is imported from a DLL. If you have migrated projects from Visual C++ 6.0 to Visual C++.NET, you might have seen linker symbol errors for a multiply-defined `CString` because of the collision of the `CString` imported from a DLL and the locally instantiated version. The proper way to do this is described below.
2323

2424
The following scenario will cause the linker to produce symbol errors for multiply defined classes. Assume that you are exporting a `CString`-derived class (`CMyString`) from an MFC extension DLL:
2525

docs/atl-mfc-shared/reference/cimage-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ A handle to an HBITMAP.
261261
*eOrientation*<br/>
262262
Specifies the orientation of the bitmap. Can be one of the following:
263263

264-
- DIBOR_DEFAULT The orientation of the bitmap is determined by the operating system. However, this may not always have the intended results on all operating systems. For more information on this, see the following Knowledge Base article (**Q186586**): PRB: GetObject() Always Returns Positive Height For DIB Sections.
264+
- DIBOR_DEFAULT The orientation of the bitmap is determined by the operating system.
265265

266266
- DIBOR_BOTTOMUP The lines of the bitmap are in reverse order. This causes [CImage::GetBits](#getbits) to return a pointer near the end of the bitmap buffer and [CImage::GetPitch](#getpitch) to return a negative number.
267267

docs/atl-mfc-shared/reference/cstringt-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,7 +139,7 @@ If using in an ATL application:
139139
`CString`, `CStringA`, and `CStringW` are exported from the MFC DLL (MFC90.DLL), never from user DLLs. This is done to prevent `CStringT` from being multiply defined.
140140

141141
> [!NOTE]
142-
> If your code contains the workaround for linker errors that is described in [Linking Errors When You Import CString-Derived Classes" (Q309801)](https://support.microsoft.com/help/309801/you-may-receive-an-lnk2019-error-message-when-you-build-a-visual-c-200), you should remove that code. It is no longer needed.
142+
> If your code contains the workaround for linker errors that is described in [Exporting String Classes Using CStringT](../../atl-mfc-shared/exporting-string-classes-using-cstringt.md), you should remove that code. It is no longer needed.
143143
144144
The following string types are available within MFC-based applications:
145145

docs/build/dll-frequently-asked-questions.md

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@ Following are some frequently asked questions (FAQ) about DLLs.
2727

2828
## <a name="mfc_multithreaded_1"></a> Can an MFC DLL create multiple threads?
2929

30-
Except during initialization, an MFC DLL can safely create multiple threads as long as it uses the Win32 thread local storage (TLS) functions such as **TlsAlloc** to allocate thread local storage. However, if an MFC DLL uses **__declspec(thread)** to allocate thread local storage, the client application must be implicitly linked to the DLL. If the client application explicitly links to the DLL, the call to **LoadLibrary** will not successfully load the DLL. For more information about creating multiple threads inside MFC DLLs, see the Knowledge Base article, "PRB: Calling LoadLibrary() to Load a DLL That Has Static TLS" (Q118816). For more information about thread-local variables in DLLs, see [thread](../cpp/thread.md).
30+
Except during initialization, an MFC DLL can safely create multiple threads as long as it uses the Win32 thread local storage (TLS) functions such as **TlsAlloc** to allocate thread local storage. However, if an MFC DLL uses **__declspec(thread)** to allocate thread local storage, the client application must be implicitly linked to the DLL. If the client application explicitly links to the DLL, the call to **LoadLibrary** will not successfully load the DLL. For more information about thread-local variables in DLLs, see [thread](../cpp/thread.md).
3131

3232
An MFC DLL that creates a new MFC thread during startup will stop responding when it is loaded by an application. This includes whenever a thread is created by calling `AfxBeginThread` or `CWinThread::CreateThread` inside:
3333

@@ -37,13 +37,11 @@ An MFC DLL that creates a new MFC thread during startup will stop responding whe
3737

3838
- A supplied `DllMain` or **RawDllMain** function in an MFC extension DLL.
3939

40-
For more information about creating threads during initialization, see the Knowledge Base article, "PRB: Cannot Create an MFC Thread During DLL Startup" (Q142243).
41-
4240
## <a name="mfc_multithreaded_2"></a> Can a multithreaded application access an MFC DLL in different threads?
4341

4442
Multithreaded applications can access regular MFC DLLs that dynamically link to MFC and MFC extension DLLs from different threads. And as of Visual C++ version 4.2, an application can access regular MFC DLLs that statically link to MFC from multiple threads created in the application.
4543

46-
Prior to version 4.2, only one external thread could attach to a regular MFC DLL that statically linked to MFC. For more information about restrictions accessing regular MFC DLLs that statically link to MFC from multiple threads (prior to Visual C++ version 4.2), see the Knowledge Base article, "Multiple Threads and MFC _USRDLLs" (Q122676).
44+
Prior to version 4.2, only one external thread could attach to a regular MFC DLL that statically linked to MFC.
4745

4846
Note that the term USRDLL is no longer used in the Visual C++ documentation. A regular MFC DLL that is statically linked to MFC has the same characteristics as the former USRDLL.
4947

docs/build/reference/md-mt-ld-use-run-time-library.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -41,8 +41,6 @@ All modules passed to a given invocation of the linker must have been compiled w
4141

4242
For more information about how to use the debug versions of the run-time libraries, see [C Run-Time Library Reference](../../c-runtime-library/c-run-time-library-reference.md).
4343

44-
Knowledge Base article Q140584 also discusses how to choose the appropriate C run-time library.
45-
4644
For more about DLLs, see [DLLs in Visual C++](../../build/dlls-in-visual-cpp.md).
4745

4846
### To set this compiler option in the Visual Studio development environment

docs/error-messages/compiler-errors-1/compiler-error-c2059.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,6 @@ void func(ag_type arg = {5, 7.0}); // C2059
6666
void func(ag_type arg = ag_type(5, 7.0)); // OK
6767
```
6868

69-
You can also get C2059 if you define a member template class or function outside the class. For information, see [Knowledge Base article 241949](http://support.microsoft.com/kb/241949).
70-
7169
C2059 can occur for an ill-formed cast.
7270

7371
The following sample generates C2059:

docs/error-messages/compiler-errors-1/compiler-error-c2143.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,6 @@ syntax error : missing 'token1' before 'token2'
1818

1919
The compiler expected a specific token (that is, a language element other than white space) and found another token instead.
2020

21-
For information about this error when it occurs when you are using a function-try block, see [Knowledge Base article 241706](http://support.microsoft.com/kb/241706).
22-
2321
Check the [C++ Language Reference](../../cpp/cpp-language-reference.md) to determine where code is syntactically incorrect. Because the compiler may report this error after it encounters the line that causes the problem, check several lines of code that precede the error.
2422

2523
C2143 can occur in different situations.

docs/error-messages/compiler-errors-1/fatal-error-c1033.md

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,4 @@ ms.workload: ["cplusplus"]
1616

1717
cannot open program database pdb
1818

19-
This error can be caused by disk error.
20-
21-
22-
For more information, see [http://support.microsoft.com/default.aspx?scid=kb;246007](http://support.microsoft.com/default.aspx?scid=kb;246007).
19+
This error can be caused by a disk error, a temporary lock created by an anti-virus program, a previous debugger instance that has not fully shut down, or parallel build mspdbsrv.exe processes that attempt to access the same file, among other possible causes.

docs/error-messages/compiler-errors-2/compiler-error-c2535.md

Lines changed: 0 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -20,8 +20,6 @@ This error could be caused by using the same formal parameter list in more than
2020

2121
If you get C2535 because of the Dispose function, see [Destructors and finalizers](../../dotnet/how-to-define-and-consume-classes-and-structs-cpp-cli.md#BKMK_Destructors_and_finalizers) for more information.
2222

23-
If you are compiling an ATL project, see Knowledge Base article Q241852.
24-
2523
The following sample generates C2535:
2624

2725
```

0 commit comments

Comments
 (0)