Skip to content

Commit 6313c4a

Browse files
Taojunshen3836425+corob-msft@users.noreply.i.8713187.xyzopbld16TylerMSFTTylerMSFT
authored
2/7/2022 AM Publish (#4163)
* Change __STDC__ documentation for 17.2 * Twhitney updateui (#4082) * update ui steps * simplify * fix formatting * try a note * formatting * bridge the note * edits * edits * acrolinx * Update docs/build/walkthrough-header-units.md Co-authored-by: TylerMSFT <[email protected]> Co-authored-by: Shannon Leavitt <[email protected]> * Fix link to CreateProcess function * Update exception-handling-x64.md * US1907300 - add md code escapes to code elements - PR9 * Address cpp-docs 3691, 3688, 3684, 3664 (#4085) * [17.2p1] Add /scanDependencies option to docs (#4059) * Add /scanDependencies option to docs * Acrolinx pass * Updates per review by Cameron * Consistency of command option formatting * Add IDE instructions * Tweaks per comments. * US1907300 - add md code escapes to code elements - PR7 (#4076) * US1907300 - add md code escapes to code elements - PR7 * US1907300 - add md code escapes to code elements - PR7 * updates after review * updates after review * updates after review * updates after review * updates after review * US1907300 - add md code escapes to code elements - PR8 (#4080) * US1907300 - add md code escapes to code elements - PR8 * updates after review * updates after review * updates after review * fix blocking issue * Address DD 1462641 (#4086) * Content for 17.1 release * US1907300 - add md code escapes to code elements - PR9 * fix formatting issue * US1907300 - add md code escapes to code elements - PR10 * updates after review * updates after review * updates after review * updates after review * updates after review * Address cpp-docs 3694, 3696 * Update what-s-new-for-visual-cpp-in-visual-studio.md fix typo * add links (#4094) Co-authored-by: TylerMSFT <[email protected]> * Address cpp-docs 3694, 3696 (#4091) * Updates for cpp-docs 3700 3703 * Add op= to example * Add 3448,3482,3483,3540,3683 updates * Use existing media for CMake Targets View * US1907300 - add md code escapes to code elements - PR11 (#4095) * US1907300 - add md code escapes to code elements - PR11 * updates after review * fix table syntax * trying to fix table rendering error * trying to fix table rendering error * trying to fix table rendering error * update after review * Additional clean-up for DD 1462641 * Set ms.topic: faq where YamlMime:FAQ (#4099) * Release notes and conformance for 17.1 * typo fix * Use ConcRT instead of ConCRT ConcRT is a more correct abbreviation for Concurrency Runtime Library. ConcRT also appears in the comment in the beginning of concrt.h. * cpp-docs 3590 in progress * US1907300 - add md code escapes to code elements - PR12 (#4103) * US1907300 - add md code escapes to code elements - PR12 * changes afteer review * changes afteer review * changes afteer review * changes afteer review * Bulk fix: \&#124; entity removal 1/n * Bulk fix: pipe entity removal 2 of n * clarify operators * Bulk fix: Pipe entity 3 of n * Fix grammar * Bulk fix pipe entities 4 of n * Bulk fix * Undo change * Fix pipe entities 5 of n * Fix more pipe entity issues * US1907300 - add md code escapes to code elements - PR13 (#4110) * US1907300 - add md code escapes to code elements - PR13 * changes afteer review * changes after review * Add missing Properties and F1 targets * Tweak dates, Acrolinx * Fix links * US1907300 - add md code escapes to code elements - PR14 * changes after review * US1907300 - add md code escapes to code elements - PR15 * US1907300 - add md code escapes to code elements - PR15 * Add C7553, C5240, diagnostics fixes * Add C5054, C5055, C5056 warnings * fix link * updates after review * Fix a collection of cpp-docs issues * Add C7553, C5240 to TOC * Add C5054, C5055, C5056 to TOC * Tweaks to cpp-docs-220222 * changes after review * Document lowercase, uppercase. Add specific version information * US1907300 - add md code escapes to code elements - PR16 (#4127) * US1907300 - add md code escapes to code elements - PR16 * US1907300 - add md code escapes to code elements - PR16 * changes after review * Add missing documentation to 3 new enum related checks. * Add version inforation into table (#4132) * Fix typo that listed for_each instead of find_if Fixed an example description where the description did not match the example * Add that "g" has been deprecated * US1907300 - add md code escapes to code elements - PR17 (#4130) * US1907300 - add md code escapes to code elements - PR17 * changes after review * changes after review * changes after review * changes after review * changes after review * Change P1689R3 to P1689R4 per Gaby * US1907300 - add md code escapes to code elements - PR18 (#4135) * US1907300 - add md code escapes to code elements - PR18 * changes after review * Update to Docs style. * Fix typo. * Fix missing ending underscore in `_Analysis_assume_` * Fix link. * TC1652913 __declspec(empty_bases) docs * Missed one reference. * Fix typo in _CrtSetReportHook2 parameter name * Add info for TC1587815 JMC in code coverage * Fix typo * US1907300 - add md code escapes to code elements - PR19 (#4141) * US1907300 - add md code escapes to code elements - PR19 * changes after review * Use main branch for public repository * Address bug TS1430759 * update headings * Fix a bunch of "See x for more information" * Bulk Fix 2 of n "see x for more information" * Acrolinx some files before a bulk fix. * Fix remaining "See x" issues in build (#4153) * Fix Acrolinx and grammar issues * Fix typo. * correct previous updates to null * US1907300 - add md code escapes to code elements - PR20 (#4145) * US1907300 - add md code escapes to code elements - PR20 * changes after review * changes after review * changes after review * US1907300 - add md code escapes to code elements - PR21 (#4158) * US1907300 - add md code escapes to code elements - PR21 * changes after review * Update 1 for VS22 (#4147) * Update 1 for VS22 * Disambiguate example, update grammar * Update after review * Update after review * update after review * update after review * update after review * update after review * update after review Co-authored-by: Colin Robertson <[email protected]> * restored link to videos previously on channel 9 but now on docs.micro… (#4159) * restored link to videos previously on channel 9 but now on docs.microsoft.com shows page * acrolinx * make link relative Co-authored-by: TylerMSFT <[email protected]> * US1907300 - add md code escapes to code elements - PR22 * changes after review * changes after review * Updating for VS22 (#4139) * Updating for VS22 * Update 2 for VS22 * Update 2 VS22 * Update 2 VS22 * Update 2 VS22 * Update after tech review * Update after review Co-authored-by: [email protected] <[email protected]> Co-authored-by: opbld16 <[email protected]> Co-authored-by: Tyler Whitney <[email protected]> Co-authored-by: TylerMSFT <[email protected]> Co-authored-by: Shannon Leavitt <[email protected]> Co-authored-by: ishchukin <[email protected]> Co-authored-by: p4yl0ad <[email protected]> Co-authored-by: opbld17 <[email protected]> Co-authored-by: Craig Casey <[email protected]> Co-authored-by: PRMerger9 <[email protected]> Co-authored-by: opbld15 <[email protected]> Co-authored-by: Dennis Rea <[email protected]> Co-authored-by: jason <[email protected]> Co-authored-by: Linda Spiller <[email protected]> Co-authored-by: Alex Buck <[email protected]> Co-authored-by: myd7349 <[email protected]> Co-authored-by: Kristine Toliver <[email protected]> Co-authored-by: PRMerger15 <[email protected]> Co-authored-by: PRMerger16 <[email protected]> Co-authored-by: PRMerger Service account 2 <[email protected]> Co-authored-by: PRMerger12 <[email protected]> Co-authored-by: Tamara K <[email protected]> Co-authored-by: PRMerger4 <[email protected]> Co-authored-by: Daniel Paoliello <[email protected]> Co-authored-by: Laura Brenner <[email protected]> Co-authored-by: Gabor Horvath <[email protected]> Co-authored-by: Austin C. Minor <[email protected]> Co-authored-by: Edward Breeveld <[email protected]> Co-authored-by: PRMerger10 <[email protected]> Co-authored-by: Miya Natsuhara <[email protected]> Co-authored-by: PRMerger14 <[email protected]> Co-authored-by: adr26 <[email protected]> Co-authored-by: Haig MacGregor <[email protected]> Co-authored-by: v-pegao <[email protected]> Co-authored-by: PRMerger18 <[email protected]> Co-authored-by: PRMerger8 <[email protected]> Co-authored-by: Anna Huff <[email protected]> Co-authored-by: Rachana Satao <[email protected]>
1 parent 112fa7e commit 6313c4a

25 files changed

+820
-849
lines changed

docs/atl-mfc-shared/cstring-argument-passing.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,9 +14,9 @@ When you define a class interface, you must determine the argument-passing conve
1414

1515
## <a name="_core_strings_as_function_inputs"></a> Strings as Function Inputs
1616

17-
The most efficient and secure way to use a `CString` object in called functions is to pass a `CString` object to the function. Despite the name, a `CString` object doesn't store a string internally as a C-style string that has a `NULL` terminator. Instead, a `CString` object keeps careful track of the number of characters it has. Having `CString` provide a `LPCTSTR` pointer to a `NULL` terminated string is a small amount of work that can become significant if your code has to do it constantly. The result is temporary because any change to the `CString` contents invalidates old copies of the `LPCTSTR` pointer.
17+
The most efficient and secure way to use a `CString` object in called functions is to pass a `CString` object to the function. Despite the name, a `CString` object doesn't store a string internally as a C-style string that has a `NULL` terminator. Instead, a `CString` object keeps careful track of the number of characters it has. Having `CString` provide a `LPCTSTR` pointer to a `NULL`-terminated string is a small amount of work that can become significant if your code has to do it constantly. The result is temporary because any change to the `CString` contents invalidates old copies of the `LPCTSTR` pointer.
1818

19-
It does make sense in some cases to provide a C-style string. For example, there can be a situation where a called function is written in C and doesn't support objects. In this case, coerce the `CString` parameter to `LPCTSTR`, and the function will get a C-style `NULL` terminated string. You can also go the other direction and create a `CString` object by using the `CString` constructor that accepts a C-style string parameter.
19+
It does make sense in some cases to provide a C-style string. For example, there can be a situation where a called function is written in C and doesn't support objects. In this case, coerce the `CString` parameter to `LPCTSTR`, and the function will get a C-style `NULL`-terminated string. You can also go the other direction and create a `CString` object by using the `CString` constructor that accepts a C-style string parameter.
2020

2121
If the string contents are to be changed by a function, declare the parameter as a nonconstant `CString` reference (`CString&`).
2222

docs/atl-mfc-shared/string-data-management.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@ helpviewer_keywords: ["Unicode, string objects"]
88

99
Visual C++ provides several ways to manage string data:
1010

11-
- [String Manipulation](../c-runtime-library/string-manipulation-crt.md) for working with C-style `NULL` terminated strings
11+
- [String Manipulation](../c-runtime-library/string-manipulation-crt.md) for working with C-style `NULL`-terminated strings
1212

1313
- Win32 API functions for managing strings
1414

docs/atl/reference/cregkey-class.md

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -83,7 +83,7 @@ class CRegKey
8383
When you close a key, its registry data is written (flushed) to the hard disk. This process may take several seconds. If your application must explicitly write registry data to the hard disk, you can call the [`RegFlushKey`](/windows/win32/api/winreg/nf-winreg-regflushkey) Win32 function. However, `RegFlushKey` uses many system resources and should be called only when absolutely necessary.
8484

8585
> [!IMPORTANT]
86-
> Any methods that allow the caller to specify a registry location have the potential to read data that cannot be trusted. Methods that make use of [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) should take into consideration that this function does not explicitly handle strings which are `NULL` terminated. Both conditions should be checked for by the calling code.
86+
> Any methods that allow the caller to specify a registry location have the potential to read data that cannot be trusted. Methods that make use of [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) should take into consideration that this function does not explicitly handle strings which are null-terminated. Both conditions should be checked for by the calling code.
8787
8888
## Requirements
8989

@@ -469,7 +469,7 @@ LONG QueryBinaryValue(
469469
### Parameters
470470
471471
*`pszValueName`*\
472-
Pointer to a `NULL` terminated string containing the name of the value to query.
472+
Pointer to a `NULL`-terminated string containing the name of the value to query.
473473
474474
*`pValue`*\
475475
Pointer to a buffer that receives the value's data.
@@ -486,7 +486,7 @@ If the method succeeds, `ERROR_SUCCESS` is returned. If the method fails to read
486486
This method makes use of `RegQueryValueEx` and confirms that the correct type of data is returned. See [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) for more details.
487487
488488
> [!IMPORTANT]
489-
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are `NULL` terminated. Both conditions should be checked for by the calling code.
489+
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are null-terminated. Both conditions should be checked for by the calling code.
490490
491491
## <a name="querydwordvalue"></a> `CRegKey::QueryDWORDValue`
492492
@@ -501,7 +501,7 @@ LONG QueryDWORDValue(
501501
### Parameters
502502
503503
*`pszValueName`*\
504-
Pointer to a `NULL` terminated string containing the name of the value to query.
504+
Pointer to a `NULL`-terminated string containing the name of the value to query.
505505
506506
*`dwValue`*\
507507
Pointer to a buffer that receives the `DWORD`.
@@ -515,7 +515,7 @@ If the method succeeds, `ERROR_SUCCESS` is returned. If the method fails to read
515515
This method makes use of `RegQueryValueEx` and confirms that the correct type of data is returned. See [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) for more details.
516516
517517
> [!IMPORTANT]
518-
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are `NULL` terminated. Both conditions should be checked for by the calling code.
518+
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are null-terminated. Both conditions should be checked for by the calling code.
519519
520520
## <a name="queryguidvalue"></a> `CRegKey::QueryGUIDValue`
521521
@@ -530,7 +530,7 @@ LONG QueryGUIDValue(
530530
### Parameters
531531
532532
*`pszValueName`*\
533-
Pointer to a `NULL` terminated string containing the name of the value to query.
533+
Pointer to a `NULL`-terminated string containing the name of the value to query.
534534
535535
*`guidValue`*\
536536
Pointer to a variable that receives the GUID.
@@ -560,10 +560,10 @@ LONG QueryMultiStringValue(
560560
### Parameters
561561
562562
*`pszValueName`*\
563-
Pointer to a `NULL` terminated string containing the name of the value to query.
563+
Pointer to a `NULL`-terminated string containing the name of the value to query.
564564
565565
*`pszValue`*\
566-
Pointer to a buffer that receives the multistring data. A multistring is an array of `NULL` terminated strings, terminated by two null characters.
566+
Pointer to a buffer that receives the multistring data. A multistring is an array of `NULL`-terminated strings, terminated by two null characters.
567567
568568
*`pnChars`*\
569569
The size, in `TCHARs`, of the buffer pointed to by *`pszValue`*. When the method returns, *`pnChars`* contains the size, in `TCHARs`, of the multistring retrieved, including a terminating null character.
@@ -577,7 +577,7 @@ If the method succeeds, `ERROR_SUCCESS` is returned. If the method fails to read
577577
This method makes use of `RegQueryValueEx` and confirms that the correct type of data is returned. See [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) for more details.
578578
579579
> [!IMPORTANT]
580-
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are `NULL` terminated. Both conditions should be checked for by the calling code.
580+
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are null-terminated. Both conditions should be checked for by the calling code.
581581
582582
## <a name="queryqwordvalue"></a> `CRegKey::QueryQWORDValue`
583583
@@ -592,7 +592,7 @@ LONG QueryQWORDValue(
592592
### Parameters
593593
594594
*`pszValueName`*\
595-
Pointer to a `NULL` terminated string containing the name of the value to query.
595+
Pointer to a `NULL`-terminated string containing the name of the value to query.
596596
597597
*`qwValue`*\
598598
Pointer to a buffer that receives the `QWORD`.
@@ -606,7 +606,7 @@ If the method succeeds, `ERROR_SUCCESS` is returned. If the method fails to read
606606
This method makes use of `RegQueryValueEx` and confirms that the correct type of data is returned. See [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) for more details.
607607
608608
> [!IMPORTANT]
609-
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are `NULL` terminated. Both conditions should be checked for by the calling code.
609+
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are null-terminated. Both conditions should be checked for by the calling code.
610610
611611
## <a name="querystringvalue"></a> `CRegKey::QueryStringValue`
612612
@@ -622,7 +622,7 @@ LONG QueryStringValue(
622622
### Parameters
623623
624624
*`pszValueName`*\
625-
Pointer to a `NULL` terminated string containing the name of the value to query.
625+
Pointer to a `NULL`-terminated string containing the name of the value to query.
626626
627627
*`pszValue`*\
628628
Pointer to a buffer that receives the string data.
@@ -639,7 +639,7 @@ If the method succeeds, `ERROR_SUCCESS` is returned. If the method fails to read
639639
This method makes use of `RegQueryValueEx` and confirms that the correct type of data is returned. See [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) for more details.
640640
641641
> [!IMPORTANT]
642-
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are `NULL` terminated. Both conditions should be checked for by the calling code.
642+
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the [`RegQueryValueEx`](/windows/win32/api/winreg/nf-winreg-regqueryvalueexw) function used by this method does not explicitly handle strings which are null-terminated. Both conditions should be checked for by the calling code.
643643
644644
## <a name="queryvalue"></a> `CRegKey::QueryValue`
645645
@@ -665,7 +665,7 @@ ATL_DEPRECATED LONG QueryValue(
665665
### Parameters
666666
667667
*`pszValueName`*\
668-
Pointer to a `NULL` terminated string containing the name of the value to query. If *`pszValueName`* is `NULL` or an empty string, `""`, the method retrieves the type and data for the key's unnamed or default value, if any.
668+
Pointer to a `NULL`-terminated string containing the name of the value to query. If *`pszValueName`* is `NULL` or an empty string, `""`, the method retrieves the type and data for the key's unnamed or default value, if any.
669669
670670
*`pdwType`*\
671671
Pointer to a variable that receives a code indicating the type of data stored in the specified value. The *`pdwType`* parameter can be `NULL` if the type code isn't required.
@@ -699,7 +699,7 @@ The two original versions of `QueryValue` are no longer supported and are marked
699699
The remaining method calls `RegQueryValueEx`.
700700
701701
> [!IMPORTANT]
702-
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the `RegQueryValueEx` function used by this method does not explicitly handle strings which are `NULL` terminated. Both conditions should be checked for by the calling code.
702+
> This method allows the caller to specify any registry location, potentially reading data which cannot be trusted. Also, the `RegQueryValueEx` function used by this method does not explicitly handle strings which are null-terminated. Both conditions should be checked for by the calling code.
703703
704704
## <a name="recursedeletekey"></a> `CRegKey::RecurseDeleteKey`
705705
@@ -875,7 +875,7 @@ LONG SetMultiStringValue(LPCTSTR pszValueName, LPCTSTR pszValue) throw();
875875
Pointer to a string containing the name of the value to set. If a value with this name isn't already present, the method adds it to the key.
876876
877877
*`pszValue`*\
878-
Pointer to the multistring data to be stored with the specified value name. A multistring is an array of `NULL` terminated strings, terminated by two null characters.
878+
Pointer to the multistring data to be stored with the specified value name. A multistring is an array of `NULL`-terminated strings, terminated by two null characters.
879879
880880
### Return Value
881881

docs/c-runtime-library/exec-wexec-functions.md

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -65,15 +65,15 @@ Parameters are passed to the new process by giving one or more pointers to chara
6565
> [!IMPORTANT]
6666
> Do not pass user input to `_exec` without explicitly checking its content. `_exec` will result in a call to [`CreateProcess`](/windows/win32/api/processthreadsapi/nf-processthreadsapi-createprocessw) so keep in mind that unqualified path names could lead to potential security vulnerabilities.
6767
68-
The `_exec` functions validate their parameters. If expected parameters are `NULL` pointers, empty strings, or omitted, the `_exec` functions invoke the invalid parameter handler as described in [Parameter Validation](../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set `errno` to `EINVAL` and return -1. No new process is executed.
68+
The `_exec` functions validate their parameters. If expected parameters are null pointers, empty strings, or omitted, the `_exec` functions invoke the invalid parameter handler as described in [Parameter Validation](../c-runtime-library/parameter-validation.md). If execution is allowed to continue, these functions set `errno` to `EINVAL` and return -1. No new process is executed.
6969

7070
The argument pointers can be passed as separate parameters (in `_execl`, `_execle`, `_execlp`, and `_execlpe`) or as an array of pointers (in `_execv`, `_execve`, `_execvp`, and `_execvpe`). At least one parameter, `arg0`, must be passed to the new process; this parameter is `argv[0]` of the new process. Usually, this parameter is a copy of `cmdname`. (A different value doesn't produce an error.)
7171

72-
The `_execl`, `_execle`, `_execlp`, and `_execlpe` calls are typically used when the number of parameters is known in advance. The parameter `arg0` is usually a pointer to `cmdname`. The parameters `arg1` through `argn` point to the character strings forming the new parameter list. A `NULL` pointer must follow `argn` to mark the end of the parameter list.
72+
The `_execl`, `_execle`, `_execlp`, and `_execlpe` calls are typically used when the number of parameters is known in advance. The parameter `arg0` is usually a pointer to `cmdname`. The parameters `arg1` through `argn` point to the character strings forming the new parameter list. A null pointer must follow `argn` to mark the end of the parameter list.
7373

7474
The `_execv`, `_execve`, `_execvp`, and `_execvpe` calls are useful when the number of parameters to the new process is variable. Pointers to the parameters are passed as an array, `argv`. The parameter `argv[0]` is usually a pointer to `cmdname`. The parameters `argv[1]` through `argv[n]` point to the character strings forming the new parameter list. The parameter `argv[n+1]` must be a **`NULL`** pointer to mark the end of the parameter list.
7575

76-
Files that are open when an `_exec` call is made remain open in the new process. In `_execl`, `_execlp`, `_execv`, and `_execvp` calls, the new process inherits the environment of the calling process. `_execle`, `_execlpe`, `_execve`, and `_execvpe` calls alter the environment for the new process by passing a list of environment settings through the `envp` parameter. `envp` is an array of character pointers, each element of which (except for the final element) points to a `NULL` terminated string defining an environment variable. Such a string usually has the form `NAME=value` where `NAME` is the name of an environment variable and `value` is the string value to which that variable is set. (Note that `value` isn't enclosed in double quotation marks.) The final element of the `envp` array should be **`NULL`**. When `envp` itself is **`NULL`**, the new process inherits the environment settings of the calling process.
76+
Files that are open when an `_exec` call is made remain open in the new process. In `_execl`, `_execlp`, `_execv`, and `_execvp` calls, the new process inherits the environment of the calling process. `_execle`, `_execlpe`, `_execve`, and `_execvpe` calls alter the environment for the new process by passing a list of environment settings through the `envp` parameter. `envp` is an array of character pointers, each element of which (except for the final element) points to a null-terminated string defining an environment variable. Such a string usually has the form `NAME=value` where `NAME` is the name of an environment variable and `value` is the string value to which that variable is set. (Note that `value` isn't enclosed in double quotation marks.) The final element of the `envp` array should be **`NULL`**. When `envp` itself is **`NULL`**, the new process inherits the environment settings of the calling process.
7777

7878
A program executed with one of the `_exec` functions is always loaded into memory as if the maximum allocation field in the program's .exe file header were set to the default value of `0xFFFFH`.
7979

docs/c-runtime-library/exit-success-exit-failure.md

Lines changed: 4 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -4,9 +4,8 @@ title: "EXIT_SUCCESS, EXIT_FAILURE"
44
ms.date: "06/25/2018"
55
f1_keywords: ["EXIT_FAILURE", "EXIT_SUCCESS"]
66
helpviewer_keywords: ["EXIT_SUCCESS constant", "EXIT_FAILURE constant"]
7-
ms.assetid: ff2c82cb-c0bb-4556-a812-59aa278bfac5
87
---
9-
# EXIT_SUCCESS, EXIT_FAILURE
8+
# `EXIT_SUCCESS`, `EXIT_FAILURE`
109

1110
## Required header
1211

@@ -16,12 +15,12 @@ ms.assetid: ff2c82cb-c0bb-4556-a812-59aa278bfac5
1615

1716
## Remarks
1817

19-
These are arguments for the [exit](reference/exit-exit-exit.md) and [_exit](reference/exit-exit-exit.md) functions, and the return values for the [atexit](reference/atexit.md) and [_onexit](reference/onexit-onexit-m.md) functions.
18+
These are arguments for the [`exit`](reference/exit-exit-exit.md) and [`_exit`](reference/exit-exit-exit.md) functions, and the return values for the [`atexit`](reference/atexit.md) and [`_onexit`](reference/onexit-onexit-m.md) functions.
2019

2120
|Constant|Defined value|
2221
|-|-|
23-
|EXIT_SUCCESS|0|
24-
|EXIT_FAILURE|1|
22+
|`EXIT_SUCCESS`|0|
23+
|`EXIT_FAILURE`|1|
2524

2625
## See also
2726

docs/c-runtime-library/filename-search-functions.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ Time of the last write to file. This time is stored in UTC format. To convert to
3939
Length of the file in bytes.
4040

4141
`char name`[ `_MAX_PATH`]
42-
`NULL` terminated name of matched file or directory, without the path.
42+
`NULL`-terminated name of matched file or directory, without the path.
4343

4444
In file systems that don't support the creation and last access times of a file, such as the FAT system, the `time_create` and `time_access` fields are always `-1L`.
4545

0 commit comments

Comments
 (0)