Skip to content

Fix git push error for protected CLA branch #1089

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 14 commits into from
Jun 14, 2019
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
45 changes: 0 additions & 45 deletions docs/atl/codesnippet/CPP/isupporterrorinfoimpl-class_2.cpp

This file was deleted.

98 changes: 5 additions & 93 deletions docs/atl/reference/isupporterrorinfoimpl-class.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
---
title: "ISupportErrorInfoImpl Class"
ms.date: "11/04/2016"
ms.date: "06/13/2019"
f1_keywords: ["ISupportErrorInfoImpl", "ATLCOM/ATL::ISupportErrorInfoImpl", "ATLCOM/ATL::ISupportErrorInfoImpl::InterfaceSupportsErrorInfo"]
helpviewer_keywords: ["ISupportErrorInfo ATL implementation", "ISupportErrorInfoImpl class", "error information, ATL"]
ms.assetid: e33a4b11-a123-41cf-bcea-7b19743902af
Expand All @@ -10,17 +10,17 @@ ms.assetid: e33a4b11-a123-41cf-bcea-7b19743902af
This class provides a default implementation of the [ISupportErrorInfo Interface](/windows/desktop/api/oaidl/nn-oaidl-isupporterrorinfo) and can be used when only a single interface generates errors on an object.

> [!IMPORTANT]
> This class and its members cannot be used in applications that execute in the Windows Runtime.
> This class and its members cannot be used in applications that execute in the Windows Runtime.

## Syntax

```
```cpp
template<const IID* piid>
class ATL_NO_VTABLE ISupportErrorInfoImpl
: public ISupportErrorInfo
```

#### Parameters
### Parameters

*piid*<br/>
A pointer to the IID of an interface that supports [IErrorInfo](/windows/desktop/api/oaidl/nn-oaidl-ierrorinfo).
Expand Down Expand Up @@ -55,102 +55,14 @@ Class `ISupportErrorInfoImpl` provides a default implementation of `ISupportErro

Indicates whether the interface identified by `riid` supports the [IErrorInfo](/windows/desktop/api/oaidl/nn-oaidl-ierrorinfo) interface.

```
```cpp
STDMETHOD(InterfaceSupportsErrorInfo)(REFIID riid);
```

### Remarks

See [ISupportErrorInfo::InterfaceSupportsErrorInfo](/windows/desktop/api/oaidl/nf-oaidl-isupporterrorinfo-interfacesupportserrorinfo) in the Windows SDK.

## <a name="getsize"></a> IThreadPoolConfig::GetSize

Call this method to get the number of threads in the pool.

```
STDMETHOD(GetSize)(int* pnNumThreads);
```

### Parameters

*pnNumThreads*<br/>
[out] Address of the variable that, on success, receives the number of threads in the pool.

### Return Value

Returns S_OK on success, or an error HRESULT on failure.

### Example

[!code-cpp[NVC_ATL_Utilities#134](../../atl/codesnippet/cpp/isupporterrorinfoimpl-class_2.cpp)]

## <a name="gettimeout"></a> IThreadPoolConfig::GetTimeout

Call this method to get the maximum time in milliseconds that the thread pool will wait for a thread to shut down.

```
STDMETHOD(GetTimeout)(DWORD* pdwMaxWait);
```

### Parameters

*pdwMaxWait*<br/>
[out] Address of the variable that, on success, receives the maximum time in milliseconds that the thread pool will wait for a thread to shut down.

### Return Value

Returns S_OK on success, or an error HRESULT on failure.

### Example

See [IThreadPoolConfig::GetSize](#getsize).

## <a name="setsize"></a> IThreadPoolConfig::SetSize

Call this method to set the number of threads in the pool.

```
STDMETHOD(SetSize)int nNumThreads);
```

### Parameters

*nNumThreads*<br/>
The requested number of threads in the pool.

If *nNumThreads* is negative, its absolute value will be multiplied by the number of processors in the machine to get the total number of threads.

If *nNumThreads* is zero, ATLS_DEFAULT_THREADSPERPROC will be multiplied by the number of processors in the machine to get the total number of threads.

### Return Value

Returns S_OK on success, or an error HRESULT on failure.

### Example

See [IThreadPoolConfig::GetSize](#getsize).

## <a name="settimeout"></a> IThreadPoolConfig::SetTimeout

Call this method to set the maximum time in milliseconds that the thread pool will wait for a thread to shut down.

```
STDMETHOD(SetTimeout)(DWORD dwMaxWait);
```

### Parameters

*dwMaxWait*<br/>
The requested maximum time in milliseconds that the thread pool will wait for a thread to shut down.

### Return Value

Returns S_OK on success, or an error HRESULT on failure.

### Example

See [IThreadPoolConfig::GetSize](#getsize).

## See also

[Class Overview](../../atl/atl-class-overview.md)
40 changes: 21 additions & 19 deletions docs/build/reference/verbose-print-progress-messages.md
Original file line number Diff line number Diff line change
@@ -1,37 +1,39 @@
---
title: "/VERBOSE (Print Progress Messages)"
ms.date: "11/04/2016"
title: "/VERBOSE (Print progress messages)"
ms.date: "06/13/2019"
f1_keywords: ["/verbose", "VC.Project.VCLinkerTool.ShowProgress"]
helpviewer_keywords: ["-VERBOSE linker option", "linking [C++], session progress information", "Print Progress Messages linker option", "linker [C++], output dependency information", "/VERBOSE linker option", "dependencies [C++], dependency information in linker output", "VERBOSE linker option"]
ms.assetid: 9c347d98-4c37-4724-a39e-0983934693ab
---
# /VERBOSE (Print Progress Messages)
# /VERBOSE (Print progress messages)

```
/VERBOSE[:{ICF|INCR|LIB|REF|SAFESEH|UNUSEDLIBS}]
```
Outputs progress messages during the link process.

## Syntax

> **/VERBOSE**\[**:**{**CLR**|**ICF**|**INCR**|**LIB**|**REF**|**SAFESEH**|**UNUSEDDELAYLOAD**|**UNUSEDLIBS**}\]

## Remarks

The linker sends information about the progress of the linking session to the **Output** window. On the command line, the information is sent to standard output and can be redirected to a file.
The linker sends information about the progress of the linking session to the **Output** window. On the command line, the information is sent to standard output, and can be redirected to a file.

|Option|Description|
|------------|-----------------|
|/VERBOSE|Displays details about the linking process.|
|/VERBOSE:ICF|Display information about linker activity that results from the use of [/OPT:ICF](opt-optimizations.md).|
|/VERBOSE:INCR|Displays information about the incremental link process.|
|/VERBOSE:LIB|Displays progress messages that indicate just the libraries searched.<br /><br /> The displayed information includes the library search process and lists each library and object name (with full path), the symbol being resolved from the library, and a list of objects that reference the symbol.|
|/VERBOSE:REF|Displays information about linker activity that results from the use of [/OPT:REF](opt-optimizations.md).|
|/VERBOSE:SAFESEH|Displays information about modules that are not compatible with safe exception handling when [/SAFESEH](safeseh-image-has-safe-exception-handlers.md) is not specified.|
|/VERBOSE:UNUSEDLIBS|Displays information about any library files that are unused when the image is created.|
| Option | Description |
| ------------ | ----------------- |
| /VERBOSE | Displays details about the linking process. |
| /VERBOSE:CLR | Displays information about linker activity specific to objects and metadata compiled by using [/clr](clr-common-language-runtime-compilation.md). |
| /VERBOSE:ICF | Displays information about linker activity that results from the use of [/OPT:ICF](opt-optimizations.md). |
| /VERBOSE:INCR | Displays information about the incremental link process. |
| /VERBOSE:LIB | Displays progress messages that indicate just the libraries searched.<br/> The displayed information includes the library search process. It lists each library and object name (with full path), the symbol being resolved from the library, and a list of objects that reference the symbol. |
| /VERBOSE:REF | Displays information about linker activity that results from the use of [/OPT:REF](opt-optimizations.md). |
| /VERBOSE:SAFESEH | Displays information about modules that are incompatible with safe structured exception handling when [/SAFESEH](safeseh-image-has-safe-exception-handlers.md) isn't specified. |
| /VERBOSE:UNUSEDDELAYLOAD | Displays information about any delay loaded DLLs that have no symbols used when the image is created. |
| /VERBOSE:UNUSEDLIBS | Displays information about any library files that are unused when the image is created. |

### To set this linker option in the Visual Studio development environment

1. Open the project's **Property Pages** dialog box. For details, see [Set C++ compiler and build properties in Visual Studio](../working-with-project-properties.md).

1. Expand the **Linker** folder.

1. Select the **Command Line** property page.
1. Select the **Configuration Properties** > **Linker** > **Command Line** property page.

1. Add the option to the **Additional Options** box.

Expand Down
32 changes: 16 additions & 16 deletions docs/cpp/references-to-pointers.md
Original file line number Diff line number Diff line change
@@ -1,18 +1,18 @@
---
title: "References to Pointers"
ms.date: "08/20/2018"
title: "References to pointers"
ms.date: "06/13/2019"
helpviewer_keywords: ["references, to pointers"]
ms.assetid: 4ce48b08-1511-4d2f-a31f-95f99eac0c70
---
# References to Pointers
# References to pointers

References to pointers can be declared in much the same way as references to objects. Declaring a reference to a pointer yields a modifiable value that is used like a normal pointer.
References to pointers can be declared in much the same way as references to objects. A reference to a pointer is a modifiable value that's used like a normal pointer.

## Example

The following code samples illustrate the difference between using a pointer to a pointer and a reference to a pointer.
This code sample shows the difference between using a pointer to a pointer and a reference to a pointer.

Functions `Add1` and `Add2` are functionally equivalent (although they are not called the same way). The difference is that `Add1` uses double indirection whereas `Add2` uses the convenience of a reference to a pointer.
Functions `Add1` and `Add2` are functionally equivalent, although they're not called the same way. The difference is that `Add1` uses double indirection, but `Add2` uses the convenience of a reference to a pointer.

```cpp
// references_to_pointers.cpp
Expand Down Expand Up @@ -45,11 +45,11 @@ void PrintTree( BTree* btRoot );
int main( int argc, char *argv[] ) {
// Usage message
if( argc < 2 ) {
cerr << "Usage: Refptr [1 | 2]" << "\n";
cerr << "Usage: " << argv[0] << " [1 | 2]" << "\n";
cerr << "\nwhere:\n";
cerr << "1 uses double indirection\n";
cerr << "2 uses a reference to a pointer.\n";
cerr << "\nInput is from stdin.\n";
cerr << "\nInput is from stdin. Use ^Z to terminate input.\n";
return 1;
}

Expand Down Expand Up @@ -92,15 +92,15 @@ int main( int argc, char *argv[] ) {
// PrintTree: Display the binary tree in order.
void PrintTree( BTree* MybtRoot ) {
// Traverse the left branch of the tree recursively.
if ( btRoot->Left )
PrintTree( btRoot->Left );
if ( MybtRoot->Left )
PrintTree( MybtRoot->Left );

// Print the current node.
cout << btRoot->szText << "\n";
cout << MybtRoot->szText << "\n";

// Traverse the right branch of the tree recursively.
if ( btRoot->Right )
PrintTree( btRoot->Right );
if ( MybtRoot->Right )
PrintTree( MybtRoot->Right );
}

// Add1: Add a node to the binary tree.
Expand Down Expand Up @@ -143,15 +143,15 @@ int Add2( BTree*& Root, char *szToAdd ) {
```

```Output
Usage: Refptr [1 | 2]
Usage: references_to_pointers.exe [1 | 2]

where:
1 uses double indirection
2 uses a reference to a pointer.

Input is from stdin.
Input is from stdin. Use ^Z to terminate input.
```

## See also

[References](../cpp/references-cpp.md)
[References](../cpp/references-cpp.md)
Loading