Skip to content
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
2 changes: 1 addition & 1 deletion docs/framework/interop/default-marshaling-behavior.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,7 +30,7 @@ Interop marshaling operates on rules that dictate how data associated with metho
This section identifies the default behavioral characteristics of the interop marshaling service. It presents detailed information on marshaling arrays, Boolean types, char types, delegates, classes, objects, strings, and structures.

> [!NOTE]
> Marshaling of generic types is not supported. For more information see, [Interoperating Using Generic Types](http://msdn.microsoft.com/library/26b88e03-085b-4b53-94ba-a5a9c709ce58).
> Marshaling of generic types is not supported. For more information see, [Interoperating Using Generic Types](https://msdn.microsoft.com/library/26b88e03-085b-4b53-94ba-a5a9c709ce58(v=vs.100)).

## Memory management with the interop marshaler
The interop marshaler always attempts to free memory allocated by unmanaged code. This behavior complies with COM memory management rules, but differs from the rules that govern native C++.
Expand Down
4 changes: 1 addition & 3 deletions docs/framework/interop/how-to-create-wrappers-manually.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ title: "How to: Create Wrappers Manually"
ms.custom: ""
ms.date: "03/30/2017"
ms.prod: ".net-framework"
ms.reviewer: ""
ms.suite: ""
ms.technology:
- "dotnet-clr"
Expand All @@ -12,7 +11,6 @@ ms.topic: "article"
helpviewer_keywords:
- "wrappers, creating manually"
ms.assetid: cc2a70d8-6a58-4071-a8cf-ce28c018c09b
caps.latest.revision: 8
author: "rpetrusha"
ms.author: "ronpet"
manager: "wpickett"
Expand All @@ -38,7 +36,7 @@ If you decide to declare COM types manually in managed source code, the best pla

3. When the declarations are complete, compile the file as you compile any other managed source code.

4. As with the types imported with Tlbimp.exe, some require additional information, which you can add directly to your code. For details, see [How to: Edit Interop Assemblies](http://msdn.microsoft.com/library/16aacb20-2269-42bf-a812-b6a7df17e277).
4. As with the types imported with Tlbimp.exe, some require additional information, which you can add directly to your code. For details, see [How to: Edit Interop Assemblies](https://msdn.microsoft.com/library/16aacb20-2269-42bf-a812-b6a7df17e277(v=vs.100)).

## Example
The following code shows an example of the `ISATest` interface and `SATest` class in IDL and the corresponding types in C# source code.
Expand Down
4 changes: 1 addition & 3 deletions docs/framework/tools/tlbimp-exe-type-library-importer.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,6 @@ title: "Tlbimp.exe (Type Library Importer)"
ms.custom: ""
ms.date: "03/30/2017"
ms.prod: ".net-framework"
ms.reviewer: ""
ms.suite: ""
ms.technology:
- "dotnet-clr"
Expand All @@ -18,7 +17,6 @@ helpviewer_keywords:
- "type libraries"
- "converting type definitions"
ms.assetid: ec0a8d63-11b3-4acd-b398-da1e37e97382
caps.latest.revision: 29
author: "rpetrusha"
ms.author: "ronpet"
manager: "wpickett"
Expand Down Expand Up @@ -58,7 +56,7 @@ tlbimp tlbFile [options]
|**/noclassmembers**|Prevents Tlbimp.exe from adding members to classes. This avoids a potential <xref:System.TypeLoadException>.|
|**/nologo**|Suppresses the Microsoft startup banner display.|
|**/out:** *filename*|Specifies the name of the output file, assembly, and namespace in which to write the metadata definitions. The **/out** option has no effect on the assembly's namespace if the type library specifies the Interface Definition Language (IDL) custom attribute that explicitly controls the assembly's namespace. If you do not specify this option, Tlbimp.exe writes the metadata to a file with the same name as the actual type library defined within the input file and assigns it a .dll extension. If the output file is the same name as the input file, the tool generates an error to prevent overwriting the type library.|
|**/primary**|Produces a primary interop assembly for the specified type library. Information is added to the assembly indicating that the publisher of the type library produced the assembly. By specifying a primary interop assembly, you differentiate a publisher's assembly from any other assemblies that are created from the type library using Tlbimp.exe. You should only use the **/primary** option if you are the publisher of the type library that you are importing with Tlbimp.exe. Note that you must sign a primary interop assembly with a [strong name](../../../docs/framework/app-domains/strong-named-assemblies.md). For more information, see [Primary Interop Assemblies](http://msdn.microsoft.com/library/b977a8be-59a0-40a0-a806-b11ffba5c080).|
|**/primary**|Produces a primary interop assembly for the specified type library. Information is added to the assembly indicating that the publisher of the type library produced the assembly. By specifying a primary interop assembly, you differentiate a publisher's assembly from any other assemblies that are created from the type library using Tlbimp.exe. You should only use the **/primary** option if you are the publisher of the type library that you are importing with Tlbimp.exe. Note that you must sign a primary interop assembly with a [strong name](../../../docs/framework/app-domains/strong-named-assemblies.md). For more information, see [Primary Interop Assemblies](https://msdn.microsoft.com/library/b977a8be-59a0-40a0-a806-b11ffba5c080(v=vs.100)).|
|**/product:** `productinformation`|Adds product information to the output assembly. This information can be viewed in the **File Properties** dialog box for the assembly.|
|**/productversion:** `productversioninformation`|Adds product version information to the output assembly. There are no format restrictions. This information can be viewed in the **File Properties** dialog box for the assembly.|
|**/publickey:** *filename*|Specifies the file containing the public key to use to sign the resulting assembly. If you specify the **/keyfile:** or **/keycontainer:** option instead of **/publickey:**, Tlbimp.exe generates the public key from the public/private key pair supplied with **/keyfile:** or **/keycontainer:**. The **/publickey:** option supports test key and delay signing scenarios. The file is in the format generated by Sn.exe. For more information, see the **-p** option of Sn.exe in [Strong Name Tool (Sn.exe)](../../../docs/framework/tools/sn-exe-strong-name-tool.md).|
Expand Down