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)
Syntax
Property StructMemberAlignment As midlStructMemberAlignOption
Dim instance As VCMidlTool
Dim value As midlStructMemberAlignOption
value = instance.StructMemberAlignment
instance.StructMemberAlignment = value
midlStructMemberAlignOption StructMemberAlignment { get; set; }
property midlStructMemberAlignOption StructMemberAlignment {
midlStructMemberAlignOption get ();
void set (midlStructMemberAlignOption value);
}
function get StructMemberAlignment () : midlStructMemberAlignOption
function set StructMemberAlignment (value : midlStructMemberAlignOption)
Property Value
Type: Microsoft.VisualStudio.VCProjectEngine.midlStructMemberAlignOption
A midlStructMemberAlignOption enumeration.
Remarks
StructMemberAlignment exposes the functionality of the C++ compiler's /Zp (Struct Member Alignment) option, and the MIDL compiler's MIDL Property Pages: Advanced 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.
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
Permissions
- Full trust for the immediate caller. This member cannot be used by partially trusted code. For more information, see Using Libraries from Partially Trusted Code.