Skip to content

Commit b5010d4

Browse files
authored
Merge pull request MicrosoftDocs#1466 from mikeblome/mb-winlinks3
more msdn link conversions based on latest redirect mappings
2 parents 08938f0 + e22038a commit b5010d4

20 files changed

+32
-32
lines changed

docs/atl/reference/ccommodule-class.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ HRESULT RegisterClassObjects(DWORD dwClsContext, DWORD dwFlags) throw();
350350
### Parameters
351351

352352
*dwClsContext*<br/>
353-
[in] Specifies the context in which the class object is to be run. Possible values are CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, or CLSCTX_LOCAL_SERVER. For a description of these values, see [CLSCTX](https://msdn.microsoft.com/library/windows/desktop/ms693716) in the Windows SDK.
353+
[in] Specifies the context in which the class object is to be run. Possible values are CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, or CLSCTX_LOCAL_SERVER. For a description of these values, see [CLSCTX](/windows/desktop/api/wtypesbase/ne-wtypesbase-tagclsctx) in the Windows SDK.
354354

355355
*dwFlags*<br/>
356356
[in] Determines the connection types to the class object. Possible values are REGCLS_SINGLEUSE, REGCLS_MULTIPLEUSE, or REGCLS_MULTI_SEPARATE. For a description of these values, see [REGCLS](/windows/desktop/api/combaseapi/ne-combaseapi-tagregcls) in the Windows SDK.

docs/atl/reference/composite-control-global-functions.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ ATLAPI_(int) AtlAxDialogBox(
5858
[in] Identifies an instance of the module whose executable file contains the dialog box template.
5959

6060
*lpTemplateName*<br/>
61-
[in] Identifies the dialog box template. This parameter is either the pointer to a null-terminated character string that specifies the name of the dialog box template or an integer value that specifies the resource identifier of the dialog box template. If the parameter specifies a resource identifier, its high-order word must be zero and its low-order word must contain the identifier. You can use the [MAKEINTRESOURCE](https://msdn.microsoft.com/library/windows/desktop/ms648029) macro to create this value.
61+
[in] Identifies the dialog box template. This parameter is either the pointer to a null-terminated character string that specifies the name of the dialog box template or an integer value that specifies the resource identifier of the dialog box template. If the parameter specifies a resource identifier, its high-order word must be zero and its low-order word must contain the identifier. You can use the [MAKEINTRESOURCE](/windows/desktop/api/winuser/nf-winuser-makeintresourcea) macro to create this value.
6262

6363
*hWndParent*<br/>
6464
[in] Identifies the window that owns the dialog box.
@@ -105,7 +105,7 @@ ATLAPI_(HWND) AtlAxCreateDialog(
105105
[in] Identifies an instance of the module whose executable file contains the dialog box template.
106106

107107
*lpTemplateName*<br/>
108-
[in] Identifies the dialog box template. This parameter is either the pointer to a null-terminated character string that specifies the name of the dialog box template or an integer value that specifies the resource identifier of the dialog box template. If the parameter specifies a resource identifier, its high-order word must be zero and its low-order word must contain the identifier. You can use the [MAKEINTRESOURCE](https://msdn.microsoft.com/library/windows/desktop/ms648029) macro to create this value.
108+
[in] Identifies the dialog box template. This parameter is either the pointer to a null-terminated character string that specifies the name of the dialog box template or an integer value that specifies the resource identifier of the dialog box template. If the parameter specifies a resource identifier, its high-order word must be zero and its low-order word must contain the identifier. You can use the [MAKEINTRESOURCE](/windows/desktop/api/winuser/nf-winuser-makeintresourcea) macro to create this value.
109109

110110
*hWndParent*<br/>
111111
[in] Identifies the window that owns the dialog box.

docs/atl/reference/server-registration-global-functions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -111,7 +111,7 @@ ATLINLINE ATLAPI AtlComModuleRegisterClassObjects(
111111
Pointer to the COM module.
112112

113113
*dwClsContext*<br/>
114-
Specifies the context in which the class object is to be run. Possible values are CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, or CLSCTX_LOCAL_SERVER. See [CLSCTX](https://msdn.microsoft.com/library/windows/desktop/ms693716) for more details.
114+
Specifies the context in which the class object is to be run. Possible values are CLSCTX_INPROC_SERVER, CLSCTX_INPROC_HANDLER, or CLSCTX_LOCAL_SERVER. See [CLSCTX](/windows/desktop/api/wtypesbase/ne-wtypesbase-tagclsctx) for more details.
115115

116116
*dwFlags*<br/>
117117
Determines the connection types to the class object. Possible values are REGCLS_SINGLEUSE, REGCLS_MULTIPLEUSE, or REGCLS_MULTI_SEPARATE. See [REGCLS](/windows/desktop/api/combaseapi/ne-combaseapi-tagregcls) for more details.

docs/build/building-c-cpp-side-by-side-assemblies.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ A Visual C++ application may use one or several DLLs in different parts of the a
2020
By default, when a DLL is built with Visual Studio, it has an [application manifest](/windows/desktop/SbsCs/application-manifests) embedded as an RT_MANIFEST resource with ID equal to 2. Just as for an executable, this manifest describes dependencies of this DLL on other assemblies. This assumes that the DLL is not part of a side-by-side assembly and applications that depend on this DLL are not going to use an application manifest to load it, but instead rely on the operating system loader to find this DLL on the system path.
2121

2222
> [!NOTE]
23-
> It is important for a DLL that uses an application manifest to have the manifest embedded as a resource with ID equal to 2. If the DLL is dynamically loaded at runtime (for example, using the [LoadLibrary](https://msdn.microsoft.com/library/windows/desktop/ms684175) function), the operating system loader loads dependent assemblies specified in the DLL's manifest. An external application manifest for DLLs is not checked during a `LoadLibrary` call. If the manifest is not embedded, the loader may attempt to load incorrect versions of assemblies or fail to find to find dependent assemblies.
23+
> It is important for a DLL that uses an application manifest to have the manifest embedded as a resource with ID equal to 2. If the DLL is dynamically loaded at runtime (for example, using the [LoadLibrary](/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibrarya) function), the operating system loader loads dependent assemblies specified in the DLL's manifest. An external application manifest for DLLs is not checked during a `LoadLibrary` call. If the manifest is not embedded, the loader may attempt to load incorrect versions of assemblies or fail to find to find dependent assemblies.
2424
2525
One or several related DLLs can be repackaged into a side-by-side assembly with a corresponding [assembly manifest](/windows/desktop/SbsCs/assembly-manifests), which describes which files form the assembly as well as the dependence of the assembly on other side-by-side assemblies.
2626

docs/build/freelibrary-and-afxfreelibrary.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.workload: ["cplusplus"]
1414
---
1515
# FreeLibrary and AfxFreeLibrary
1616

17-
Processes that explicitly link to a DLL call the [FreeLibrary](https://msdn.microsoft.com/library/windows/desktop/ms683152(v=vs.85).aspx) function when the DLL module is no longer needed. This function decrements the module's reference count and, if the reference count is zero, unmaps it from the address space of the process.
17+
Processes that explicitly link to a DLL call the [FreeLibrary](/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibrary) function when the DLL module is no longer needed. This function decrements the module's reference count and, if the reference count is zero, unmaps it from the address space of the process.
1818

1919
In an MFC application, use [AfxFreeLibrary](../mfc/reference/application-information-and-management.md#afxfreelibrary) instead of `FreeLibrary` to unload an MFC extension DLL. The interface (function prototype) for `AfxFreeLibrary` is the same as `FreeLibrary`.
2020

@@ -33,5 +33,5 @@ In an MFC application, use [AfxFreeLibrary](../mfc/reference/application-informa
3333
## See Also
3434

3535
[DLLs in Visual C++](../build/dlls-in-visual-cpp.md)<br/>
36-
[FreeLibrary](https://msdn.microsoft.com/library/windows/desktop/ms683152(v=vs.85).aspx)
36+
[FreeLibrary](/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibrary)
3737
[AfxFreeLibrary](../mfc/reference/application-information-and-management.md#afxfreelibrary)

docs/build/getprocaddress.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ ms.workload: ["cplusplus"]
1414
---
1515
# GetProcAddress
1616

17-
Processes explicitly linking to a DLL call [GetProcAddress](https://msdn.microsoft.com/library/windows/desktop/ms683212) to obtain the address of an exported function in the DLL. You use the returned function pointer to call the DLL function. **GetProcAddress** takes as parameters the DLL module handle (returned by either **LoadLibrary**, `AfxLoadLibrary`, or **GetModuleHandle**) and takes either the name of the function you want to call or the function's export ordinal.
17+
Processes explicitly linking to a DLL call [GetProcAddress](/windows/desktop/api/libloaderapi/nf-libloaderapi-getprocaddress) to obtain the address of an exported function in the DLL. You use the returned function pointer to call the DLL function. **GetProcAddress** takes as parameters the DLL module handle (returned by either **LoadLibrary**, `AfxLoadLibrary`, or **GetModuleHandle**) and takes either the name of the function you want to call or the function's export ordinal.
1818

1919
Because you are calling the DLL function through a pointer and there is no compile-time type checking, make sure that the parameters to the function are correct so that you do not overstep the memory allocated on the stack and cause an access violation. One way to help provide type-safety is to look at the function prototypes of the exported functions and create matching typedefs for the function pointers. For example:
2020

@@ -60,7 +60,7 @@ You can only obtain the export ordinal if the DLL you are linking to is built wi
6060

6161
- [LoadLibrary and AfxLoadLibrary](../build/loadlibrary-and-afxloadlibrary.md)
6262

63-
- [FreeLibrary](https://msdn.microsoft.com/library/windows/desktop/ms683152)
63+
- [FreeLibrary](/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibrary)
6464

6565
- [Exporting from a DLL Using DEF Files](../build/exporting-from-a-dll-using-def-files.md)
6666

docs/build/reference/constraints-of-delay-loading-dlls.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,9 +32,9 @@ There are constraints regarding the delay loading of imports.
3232
## See Also
3333

3434
[Linker Support for Delay-Loaded DLLs](../../build/reference/linker-support-for-delay-loaded-dlls.md)<br/>
35-
[LoadLibrary function](https://msdn.microsoft.com/library/windows/desktop/ms684175.aspx)<br/>
36-
[GetModuleHandle function](https://msdn.microsoft.com/library/windows/desktop/ms683199.aspx)<br/>
37-
[GetProcAddress function](https://msdn.microsoft.com/library/windows/desktop/ms683212.aspx)<br/>
35+
[LoadLibrary function](/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibrarya)<br/>
36+
[GetModuleHandle function](/windows/desktop/api/libloaderapi/nf-libloaderapi-getmodulehandlea)<br/>
37+
[GetProcAddress function](/windows/desktop/api/libloaderapi/nf-libloaderapi-getprocaddress)<br/>
3838
[TlsAlloc function](/windows/desktop/api/processthreadsapi/nf-processthreadsapi-tlsalloc)<br/>
3939
[TlsFree function](/windows/desktop/api/processthreadsapi/nf-processthreadsapi-tlsfree)<br/>
4040
[TlsGetValue function](/windows/desktop/api/processthreadsapi/nf-processthreadsapi-tlsgetvalue)<br/>

docs/build/reference/delay-delay-load-import-settings.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -29,7 +29,7 @@ The /DELAY option controls [delayed loading](../../build/reference/linker-suppor
2929

3030
- The NOBIND qualifier tells the linker not to include a bindable IAT in the final image. The default is to create the bindable IAT for delay-loaded DLLs. The resulting image cannot be statically bound. (Images with bindable IATs may be statically bound prior to execution.) See [/BIND](../../build/reference/bind.md).
3131

32-
If the DLL is bound, the helper function will attempt to use the bound information instead of calling [GetProcAddress](https://msdn.microsoft.com/library/windows/desktop/ms683212.aspx) on each of the referenced imports. If either the timestamp or the preferred address does not match those of the loaded DLL, the helper function will assume the bound IAT is out of date and will proceed as if the bound IAT does not exist.
32+
If the DLL is bound, the helper function will attempt to use the bound information instead of calling [GetProcAddress](/windows/desktop/api/libloaderapi/nf-libloaderapi-getprocaddress) on each of the referenced imports. If either the timestamp or the preferred address does not match those of the loaded DLL, the helper function will assume the bound IAT is out of date and will proceed as if the bound IAT does not exist.
3333

3434
NOBIND causes your program image to be larger but can speed load time of the DLL. If you never intend to bind the DLL, NOBIND will prevent the bound IAT from being generated.
3535

docs/build/reference/exports.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -56,7 +56,7 @@ To find the decorated names produced by the compiler, use the [DUMPBIN](../../bu
5656

5757
You can use \@*ordinal* to specify that a number, and not the function name, goes into the DLL's export table. Many Windows DLLs export ordinals to support legacy code. It was common to use ordinals in 16-bit Windows code, because it can help minimize the size of a DLL. We don’t recommend exporting functions by ordinal unless your DLL’s clients need it for legacy support. Because the .LIB file will contain the mapping between the ordinal and the function, you can use the function name as you normally would in projects that use the DLL.
5858

59-
By using the optional **NONAME** keyword, you can export by ordinal only and reduce the size of the export table in the resulting DLL. However, if you want to use [GetProcAddress](https://msdn.microsoft.com/library/windows/desktop/ms683212.aspx) on the DLL, you must know the ordinal because the name will not be valid.
59+
By using the optional **NONAME** keyword, you can export by ordinal only and reduce the size of the export table in the resulting DLL. However, if you want to use [GetProcAddress](/windows/desktop/api/libloaderapi/nf-libloaderapi-getprocaddress) on the DLL, you must know the ordinal because the name will not be valid.
6060

6161
The optional keyword **PRIVATE** prevents *entryname* from being included in the import library generated by LINK. It does not affect the export in the image also generated by LINK.
6262

docs/c-language/argument-description.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,7 +19,7 @@ The `argc` parameter in the **main** and **wmain** functions is an integer speci
1919

2020
The `argv` parameter is an array of pointers to null-terminated strings representing the program arguments. Each element of the array points to a string representation of an argument passed to **main** (or **wmain**). (For information about arrays, see [Array Declarations](../c-language/array-declarations.md).) The `argv` parameter can be declared either as an array of pointers to type `char` (`char *argv[]`) or as a pointer to pointers to type `char` (`char **argv`). For **wmain**, the `argv` parameter can be declared either as an array of pointers to type `wchar_t` (`wchar_t *argv[]`) or as a pointer to pointers to type `wchar_t` (`wchar_t **argv`).
2121

22-
By convention, `argv`**[0]** is the command with which the program is invoked. However, it is possible to spawn a process using [CreateProcess](/windows/desktop/api/processthreadsapi/nf-processthreadsapi-createprocessa) and if you use both the first and second arguments (`lpApplicationName` and `lpCommandLine`), `argv`**[0]** may not be the executable name; use [GetModuleFileName](https://msdn.microsoft.com/library/windows/desktop/ms683197) to retrieve the executable name.
22+
By convention, `argv`**[0]** is the command with which the program is invoked. However, it is possible to spawn a process using [CreateProcess](/windows/desktop/api/processthreadsapi/nf-processthreadsapi-createprocessa) and if you use both the first and second arguments (`lpApplicationName` and `lpCommandLine`), `argv`**[0]** may not be the executable name; use [GetModuleFileName](/windows/desktop/api/libloaderapi/nf-libloaderapi-getmodulefilenamea) to retrieve the executable name.
2323

2424
The last pointer (`argv[argc]`) is **NULL**. (See [getenv](../c-runtime-library/reference/getenv-wgetenv.md) in the *Run-Time Library Reference* for an alternative method for getting environment variable information.)
2525

docs/c-runtime-library/obsolete-functions.md

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -21,14 +21,14 @@ Certain library functions are obsolete and have more recent equivalents. We reco
2121
|Obsolete function|Alternative|
2222
|-----------------------|-----------------|
2323
|`is_wctype`|[iswctype](../c-runtime-library/reference/isctype-iswctype-isctype-l-iswctype-l.md)|
24-
|`_loaddll`|[LoadLibrary](https://msdn.microsoft.com/library/windows/desktop/ms684175), [LoadLibraryEx](/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibraryexa), or [LoadPackagedLibrary](/windows/desktop/api/winbase/nf-winbase-loadpackagedlibrary)|
25-
|`_unloaddll`|[FreeLibrary](https://msdn.microsoft.com/library/windows/desktop/ms683152)|
24+
|`_loaddll`|[LoadLibrary](/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibrarya), [LoadLibraryEx](/windows/desktop/api/libloaderapi/nf-libloaderapi-loadlibraryexa), or [LoadPackagedLibrary](/windows/desktop/api/winbase/nf-winbase-loadpackagedlibrary)|
25+
|`_unloaddll`|[FreeLibrary](/windows/desktop/api/libloaderapi/nf-libloaderapi-freelibrary)|
2626
|`_getdllprocaddr`|[GetProcAddress](../build/getprocaddress.md)|
2727
|`_seterrormode`|[SetErrorMode](https://msdn.microsoft.com/library/windows/desktop/ms680621)|
2828
|`_beep`|[Beep](https://msdn.microsoft.com/library/windows/desktop/ms679277)|
2929
|`_sleep`|[Sleep](/windows/desktop/api/synchapi/nf-synchapi-sleep)|
30-
|`_getsystime`|[GetLocalTime](https://msdn.microsoft.com/library/windows/desktop/ms724338)|
31-
|`_setsystime`|[SetLocalTime](https://msdn.microsoft.com/library/windows/desktop/ms724936)|
30+
|`_getsystime`|[GetLocalTime](/windows/desktop/api/sysinfoapi/nf-sysinfoapi-getlocaltime)|
31+
|`_setsystime`|[SetLocalTime](/windows/desktop/api/sysinfoapi/nf-sysinfoapi-setlocaltime)|
3232

3333
## Removed from the CRT in Visual Studio 2015
3434

docs/c-runtime-library/reference/mktime-mktime32-mktime64.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,7 +60,7 @@ These functions may be used to validate and fill in a tm structure. If successfu
6060

6161
- A value less than zero to have the C run-time library code compute whether standard time or daylight saving time is in effect.
6262

63-
The C run-time library will determine the daylight savings time behavior from the [TZ](tzset.md) environment variable. If **TZ** is not set, the Win32 API call [GetTimeZoneInformation](https://msdn.microsoft.com/library/windows/desktop/ms724421.aspx) is used to get the daylight savings time information from the operating system. If this fails, the library assumes the United States' rules for implementing the calculation of daylight saving time are used. **tm_isdst** is a required field. If not set, its value is undefined and the return value from these functions is unpredictable. If *timeptr* points to a **tm** structure returned by a previous call to [asctime](asctime-wasctime.md), [gmtime](gmtime-gmtime32-gmtime64.md), or [localtime](localtime-localtime32-localtime64.md) (or variants of these functions), the **tm_isdst** field contains the correct value.
63+
The C run-time library will determine the daylight savings time behavior from the [TZ](tzset.md) environment variable. If **TZ** is not set, the Win32 API call [GetTimeZoneInformation](/windows/desktop/api/timezoneapi/nf-timezoneapi-gettimezoneinformation) is used to get the daylight savings time information from the operating system. If this fails, the library assumes the United States' rules for implementing the calculation of daylight saving time are used. **tm_isdst** is a required field. If not set, its value is undefined and the return value from these functions is unpredictable. If *timeptr* points to a **tm** structure returned by a previous call to [asctime](asctime-wasctime.md), [gmtime](gmtime-gmtime32-gmtime64.md), or [localtime](localtime-localtime32-localtime64.md) (or variants of these functions), the **tm_isdst** field contains the correct value.
6464

6565
Note that **gmtime** and **localtime** (and **_gmtime32**, **_gmtime64**, **_localtime32**, and **_localtime64**) use a single buffer per thread for the conversion. If you supply this buffer to **mktime**, **_mktime32** or **_mktime64**, the previous contents are destroyed.
6666

0 commit comments

Comments
 (0)