The string Attribute in Arrays

You can use the string attribute for one-dimensional character arrays, wide-character arrays, and byte arrays that represent text strings.

If you use the string attribute, the client stub uses the C-library functions strlen or wstrlen to count the number of characters in the string. To avoid possible inconsistencies, MIDL does not let you use the string attribute at the same time as the first_is, last_is, and size_is attributes.

As always with null-terminated strings in C, you must allow space for the null character at the end of the string. For example, when declaring a string that will hold up to 80 characters, allocate 81 characters.

/* IDL file */
[ uuid(20B309B1-015C-101A-B308-02608C4C9B53),
  version(8.0)
]
interface arraytest
{
void fArray8([in, out, string] char achArray[]);
}