VCCLCompilerTool.StructMemberAlignment Property

Specifies 1-, 2-, 4-, 8-, or 16-byte boundaries for struct member alignment. StructMemberAlignment exposes the functionality of the C++ compiler's /Zp (Struct Member Alignment) option and the MIDL compiler's MIDL Property Pages: Advanced option.

Namespace:  Microsoft.VisualStudio.VCProjectEngine
Assembly:  Microsoft.VisualStudio.VCProjectEngine (in Microsoft.VisualStudio.VCProjectEngine.dll)

Syntax

'Declaration
Property StructMemberAlignment As structMemberAlignOption
    Get
    Set
structMemberAlignOption StructMemberAlignment { get; set; }
property structMemberAlignOption StructMemberAlignment {
    structMemberAlignOption get ();
    void set (structMemberAlignOption value);
}
abstract StructMemberAlignment : structMemberAlignOption with get, set
function get StructMemberAlignment () : structMemberAlignOption
function set StructMemberAlignment (value : structMemberAlignOption)

Property Value

Type: Microsoft.VisualStudio.VCProjectEngine.structMemberAlignOption
A structMemberAlignOption value.

Remarks

The MIDL tool does not allow 16-byte boundaries.

Examples

See How to: Compile Example Code for Project Model Extensibility for information about how to compile and run this example.

The following example modifies the compiler's StructMemberAlignment property in the integrated development environment (IDE):

' add reference to Microsoft.VisualStudio.VCProjectEngine.
Imports EnvDTE
Imports Microsoft.VisualStudio.VCProjectEngine

Public Module Module1
    Sub Test()
        Dim prj As VCProject
        Dim cfgs, tools As IVCCollection
        Dim cfg As VCConfiguration
        Dim tool As VCCLCompilerTool
        prj = DTE.Solution.Projects.Item(1).Object
        cfgs = prj.Configurations
        cfg = cfgs.Item(1)
        tool = cfg.Tools("VCCLCompilerTool")
        tool.StructMemberAlignment = structMemberAlignOption.alignSixteenBytes
    End Sub
End Module

.NET Framework Security

See Also

Reference

VCCLCompilerTool Interface

Microsoft.VisualStudio.VCProjectEngine Namespace