1 WSP properties are described in a number of sections in the MS-WSP protocol
2 document. The document says that all properties are categorised as follows
4 "GUID and PropId: Together, these parameters establish the unique identifier
6 isColumn: A boolean value set to TRUE if, and only if, the property can be
7 returned as a requested property as specified in the
8 ProjectionColumnsOffsets argument to a RunNewQuery Generic Search
9 Service (GSS) abstract interface call.
10 inInvertedIndex: A boolean value set to TRUE if, and only if, the property can
11 be an argument to CContentRestriction within the
12 RestrictionSet argument to a RunNewQuery GSS abstract
14 columnIndexType: This parameter defines whether sorting, grouping, and
15 filtering are allowed for this property, as defined in the
16 SortOrders, Groupings, and Restrictions parameters of the
17 RunNewQuery GSS abstract interface call.
18 The columnIndexType parameter is a string set to one of the
21 additionally the property type 'VT_XXXX' and max size are known
23 However, not all properties described match this, only properties mentioned in
24 the "full property table" are fully described, others mentioned e.g. in
25 "Standard" & "Open" property sections (and associated tables) have just the
26 GUID, propid & property data type described, still other properties are only
27 mentioned in the Example section and one needs to manually extract the info.
29 We need the property descriptions and some scripting helps here, in this
32 librpc/wsp/allprops-from-ms-wsp-spec.csv:
33 a csv file made from the "full property table" exported from the html
34 oneline version online version of MS-WSP open specification document.
36 a csv file of the same format containing the other properties mentioned
37 above and additionally a few more from the wireshark repo)
39 and in directory source4/scripting/bin
42 a simple python script to generate code from the csv files above,
44 extra-props.csv was generated by basically grabbing the property definititions
45 from the wireshark repo
46 https://github.com/wireshark/wireshark.git(epan/dissectors/packet-mswsp.c
47 and comparing against the properties we already have
49 The build generates code from the csv file mentioned above which is built into
50 the NDR_WSP subsystem.