This documentation is archived and is not being maintained.

VCMidlTool.StructMemberAlignment Property 

Gets or sets 1-, 2-, 4-, 8-, or 16-byte boundaries for struct member alignment.

Namespace: Microsoft.VisualStudio.VCProjectEngine
Assembly: Microsoft.VisualStudio.VCProjectEngine (in microsoft.visualstudio.vcprojectengine.dll)

property midlStructMemberAlignOption StructMemberAlignment {
	midlStructMemberAlignOption get ();
	void set ([InAttribute] midlStructMemberAlignOption optSetting);
/** @property */
midlStructMemberAlignOption get_StructMemberAlignment ()

/** @property */
void set_StructMemberAlignment (/** @attribute InAttribute() */ midlStructMemberAlignOption optSetting)

function get StructMemberAlignment () : midlStructMemberAlignOption

function set StructMemberAlignment (optSetting : midlStructMemberAlignOption)

Property Value

A midlStructMemberAlignOption enumeration.

StructMemberAlignment exposes the functionality of the C++ compiler's /Zp option, and the MIDL compiler's /Zp option.

Use the structMemberAlignOption enumeration to change the value of the VCCLCompilerTool property.

Use midlStructMemberAlignOption to change the value of the VCMidlTool property.

The MIDL tool does not allow 16-byte boundaries.

See Samples 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