typedef struct _UNICODE_STRING { USHORT Length; USHORT MaximumLength;#ifdef MIDL_PASS [size_is(MaximumLength / 2), length_is((Length) / 2) ] USHORT * Buffer;#else // MIDL_PASS _Field_size_bytes_part_opt_(MaximumLength, Length) PWCH Buffer;#endif // MIDL_PASS} UNICODE_STRING;中间的_Field_size_bytes_part_opt_(MaximumLength, Length) PWCH Buffer;是什么语法?要怎么理解