The layout object is an opaque object containing all the data and methods necessary to perform the layout operations on context dependent/directional characters of the locale name.
When the LayoutCreateObject function completes without errors, the value of the layout object argument points to a valid layout object that may be used by other layout functions.
The returned layout object is initialized to a default state that defines the behavior of the layout functions. The initial state is locale dependent and is described by the layout values that may be queried using the LayoutQueryValues function.
The layout values of the layout object may be changed using the LayoutSetValues function.