docs: function parse_compobj(obj/*:CFBEntry*/) {
  	var v = {};
  	var o = obj.content;
  	/*:: if(o == null) return; */
  
  	/* [MS-OLEDS] 2.3.7 CompObjHeader -- All fields MUST be ignored */
  	o.l = 28;
  
  	v.AnsiUserType = o.read_shift(0, "lpstr-ansi");
  	v.AnsiClipboardFormat = parse_ClipboardFormatOrAnsiString(o);
  
  	if(o.length - o.l <= 4) return v;
  
  	var m/*:number*/ = o.read_shift(4);
  	if(m == 0 || m > 40) return v;
  	o.l-=4; v.Reserved1 = o.read_shift(0, "lpstr-ansi");
  
  	if(o.length - o.l <= 4) return v;
  	m = o.read_shift(4);
  	if(m !== 0x71b239f4) return v;
  	v.UnicodeClipboardFormat = parse_ClipboardFormatOrUnicodeString(o);
  
  	m = o.read_shift(4);
  	if(m == 0 || m > 40) return v;
  	o.l-=4; v.Reserved2 = o.read_shift(0, "lpwstr");
  }