based on feedback. 1/25/2008 2.1 Minor Clarified the meaning of the technical content. 3/14/2008 2.1.1 Editorial Changed language and formatting in the technical content. 5/16/2008 2.1.2 Editorial Changed language and formatting in the technical content. 6/20/2008 3.0 Major Updated and revised the technical content. 7/25/2008 4.0 Major Updated and revised the technical content. 8/29/2008 5.0 Major Updated and revised the technical content. 10/24/2008 6.0 Updated and revised the technical content. 12/5/2008 7.0 Major Updated and revised the technical content. 1/16/2009 8.0 Major Updated and revised the technical content.
2/27/2009 9.0 Major Updated and revised the technical content. 4/10/2009 10.0 Major Updated and revised the technical content. 5/22/2009 11.0 Major Updated and revised the technical content. 7/2/2009 12.0 Major Updated and revised the technical content. 8/14/2009 13.0 Major Updated and revised the technical content. 9/25/2009 14.0 Major Updated and revised the technical content. 11/6/2009 15.0 Updated and revised the technical content. 12/18/2009 16.0 Major Updated and revised the technical content. 1/29/2010 17.0 Updated and revised the technical content. 3/12/2010 18.0 Major Updated and revised the technical content. 4/23/2010 19.0 Major Updated and revised
technical content. 5/6/2011 24.0 Major Updated and revised the technical content. 6/17/2011 25.0 Updated and revised the technical content. 9/23/2011 25.0 None No changes to the meaning, language, or formatting of the technical content. 12/16/2011 26.0 Major Updated and revised the technical content. 3/30/2012 26.0 None No changes to the meaning, language, or formatting of the technical content. 7/12/2012 26.1 Minor Clarified the meaning of the technical content. 10/25/2012 26.1 None No changes to the meaning, language, or formatting of the technical content. 1/31/2013 26.1 None No changes to the meaning, language, or
language, or formatting of the technical content. 9/15/2017 31.0 Significantly changed the technical content. 12/1/2017 31.0 None No changes to the meaning, language, or formatting of the technical content. 9/12/2018 32.0 Major Significantly changed the technical content.
Identifies the approximate point expressed as a ratio at which to begin retrieval for a CPMGetRowsIn message. Identifies the from which to retrieve rows for a CPMGetRowsIn message. Contains the number of rows to skip in a CPMGetRowsIn message. Contains the configuration information for a query. Contains the sort orders for a Contains a column for the message. Contains a serialized value. Contains a coercion restriction that affects ranking of results. Contains a set of feedback documents for relevance feedback queries (for more information, see [Jones]). Contains probabilistic rank parameters (for more information, see Contains a relevant document for relevance
... Offset (variable) ... vType (2 bytes): A type indicator, indicating the type of vValue. It MUST be one of the values under the vType field, as specified in section . reserved1 (2 bytes): Not used. Can be set to any arbitrary value when sent and it MUST be ignored on receipt. reserved2 (4 bytes): Not used. Can be set to any arbitrary value when sent and it MUST be ignored on receipt. (variable): Element count. This field is 4 bytes and is present only if the vType is a VT_VECTOR. Offset (variable): An offset to variable length data (for example, a string). This MUST be a 32-bit value (4 bytes long) if 32-bit offsets are being used (per the rules in section 2.2.3.12), or a value (8 bytes long) if 64-bit offsets are being used. CSortSet The CSortSet structure contains the of the query. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 count sortArray (variable) ... count (4 bytes): A 32-bit unsigned integer specifying the number of elements in sortArray. sortArray (variable): An array of structures describing the order in which to sort the results of the query. Structures in the array MUST be separated by 0 to 3 padding bytes such that each structure has a 4-byte alignment from the beginning of a message. Such padding bytes can be set to any arbitrary value when sent and MUST be ignored on receipt. CTableColumn The CTableColumn structure contains a of a message. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 PropSpec (variable) ... vType
CPMCreateQueryIn CPMSetBindingsIn CPMGetRowsIn CPMFetchValueIn Note For all messages, _ulChecksum MUST be set to 0x00000000. A client MUST ignore the _ulChecksum field. _ulReserved2 (4 bytes): MUST be ignored by the receiver. Note This field MUST be set to 0x00000000 except for the CPMGetRowsIn message, where it MUST hold the high 32-bits part of a 64-bit offset if 64-bit offsets are being used (see section 2.2.3.12 for details). Messages CPMCiStateInOut The CPMCiStateInOut message contains information about the state of the . 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 cbStruct cWordList cPersistentIndex cQueries cDocuments cFreshTest dwMergeProgress eState cFilteredDocuments cTotalDocuments cPendingScans dwIndexSize cUniqueKeys cSecQDocuments
aPropertySets (variable): An array of CDbPropSet structures specifying other properties. The number of elements in this array MUST be equal to cExtPropSet. Although any value can be passed here, the server MUST ignore anything except the following property, which must be the first property in aPropertySets. This value must also align with the DBPROP_CI_CATALOG_NAME specified in DBPROPSET_FSCIFRMWRK_EXT. Meaning DBPROP_CI_CATALOG_NAME 0x00000002 This is the catalog name for the query. CPMConnectOut The CPMConnectOut message contains a response to a message. The format of the CPMConnectOut message that follows the header is shown in the following diagram. 0 1 2 3 4 5 6 7 8 9 1 0 1 2 3 4 5 6 7 8 9 2 0 1 2 3 4 5 6 7 8 9 3 0 1 _serverVersion _reserved (variable) ... dwWinVerMajor (optional) dwWinVerMinor (optional) dwNLSVerMajor (optional) dwNLSVerMinor (optional) _serverVersion (4 bytes): A 32-bit integer that indicates whether the server can support 64-bit offsets. Values greater than or equal to 0x00010000 indicate 64-bit support. Values less than 0x00010000 indicate 32-bit support.<7><8> _reserved (variable): The server can send an arbitrary number of arbitrary values, and the client MUST ignore these values if present. If the server supports version reporting, the size MUST be 4 bytes. dwWinVerMajor (4 bytes): 32-bit unsigned integer that contains the major version number of the Windows operating system on a server. If server doesn't supports version reporting then this field MUST be omitted.<9> If present this field can contain one of the following values: Value Meaning
for this item. How rank is computed is defined by the indexing process. Typically, content and proximity restrictions influence the rank, while other comparison operators do not. System.Search.HitCount 0x00000004 VT_I4 The number of words found from the query. System.Search.EntryID 0x00000005 VT_I4 A unique identifier for each result found. All 0x00000006 VT_LPWSTR Allows a content restriction over all textual properties. Cannot be retrieved. System.ItemURL 0x00000009 VT_LPWSTR Full virtual path to file, including file name. Storage Property Set #define StorageGuid \ {0xb725f130,0x47ef,0x101a,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac} The friendly name is Contents, the PropId is 0x00000013, the data type is VT_LPWSTR, and it is the main contents of a file. Usually this property cannot be retrieved. Common Open Properties A can allow querying and retrieval over any property. The tables below outline some properties typically used. See for more information. Storage Property Set #define StorageGuid \
{0xb725f130,0x47ef,0x101a,0xa5,0xf1,0x02,0x60,0x8c,0x9e,0xeb,0xac} Name/PropId Type Description System.ItemFolderNameDisplay 0x00000002 VT_LPWSTR The physical path to the file, not including the file name. ClassId 0x00000003 VT_CLSID The class ID of the , for example, WordPerfect or Microsoft® Office Word. FileIndex 0x00000008 VT_UI8 The unique ID of the file. USN 0x00000009 VT_I8 The update sequence number. NTFS file system drives only. System.ItemNameDisplay 0x0000000A VT_LPWSTR The name of the file. Path 0x0000000B VT_LPWSTR The full physical path to the file, including the file name. System.Size 0x0000000C VT_I8 The size, in bytes, of the file. System.FileAttributes 0x0000000D VT_UI4 The file attributes. Documented in Win32 SDK. System.DateModified 0x0000000E VT_FILETIME The last time the file was written. System.DateCreated 0x0000000F VT_FILETIME The time the file was created. System.DateAccessed 0x00000010 VT_FILETIME The last time the file was accessed. AllocSize 0x00000012 VT_I8 The size of the disk allocation for the file. ShortFilename 0x00000014 VT_LPWSTR The short (8.3) file name. The following table lists the attribute flag values for the Attrib property. Attribute/Value Description
FILE_ATTRIBUTE_READONLY 0x00000001 The file or directory is read-only. Applications can read the file but cannot to it or delete it. For a directory, applications cannot delete it. FILE_ATTRIBUTE_HIDDEN 0x00000002 The file or directory is hidden. It is not included in an ordinary directory listing. FILE_ATTRIBUTE_SYSTEM 0x00000004 The file or directory is part of the operating system, or is used exclusively by the operating system. FILE_ATTRIBUTE_DIRECTORY 0x00000010 The handle identifies a directory. FILE_ATTRIBUTE_ARCHIVE 0x00000020 The file or directory is an archive file. Applications use this attribute to mark for backup or removal. FILE_ATTRIBUTE_NORMAL 0x00000080 The file or directory does not have another attribute set. This attribute is valid only if used alone. FILE_ATTRIBUTE_TEMPORARY 0x00000100 The file is used for temporary storage.
DrmDescription 0x00000003 VT_LPWSTR The description of the license. DrmPlayCount 0x00000004 VT_UI4 The number of times the item can be played. DrmPlayStarts 0x00000005 VT_FILETIME The date the play rights DrmPlayExpires 0x00000006 VT_FILETIME The date the rights expire. Image Property Set #define PSGUID_IMAGESUMMARYINFORMATION \ {0x6444048f,0x4c8b,0x11d1,0x8b,0x70,0x8,0x00,0x36,0xb1,0x1a,0x03} Name/PropId Datatype Description ImageFileType 0x00000002 VT_LPWSTR The type of image file. System.Image.HorizontalSize 0x00000003 VT_UI4 The horizontal size, in pixels. 0x00000004 VT_UI4 The vertical size, in pixels. System.Image.HorizontalResolution 0x00000005 VT_UI4 The horizontal resolution, in pixels per inch. System.Image.VerticalResolution 0x00000006 VT_UI4 The vertical resolution, in pixels per inch. System.Image.BitDepth 0x00000007 VT_UI4 The number of bits per pixel. ImageColorSpace 0x00000008 VT_LPWSTR The description of the image color space. ImageCompression 0x00000009 VT_LPWSTR The description of the image compression. ImageTransparency 0x0000000A VT_UI4 The degree of transparency from 0-100. ImageGammaValue 0x0000000B VT_UI4 The gamma correction value. System.Media.FrameCount 0x0000000C VT_UI4 The frame count for the image.
System.Image.Dimensions 0x0000000D VT_LPWSTR The description of the image dimensions. Audio Property Set #define PSGUID_AUDIO \ {64440490-4C8B-11D1-8B70-080036B11A03} Properties Name/PropId Datatype Description AudioFormat 0x00000002 VT_LPWSTR The format. System.Media.Duration 0x00000003 VT_UI8 The duration, in 100-ns units. System.Audio.EncodingBitrate 0x00000004 VT_UI4 The average encoding rate, in bits per second. System.Audio.SampleRate 0x00000005 VT_UI4 The sample rate, in samples per second. 0x00000006 VT_UI4 The sample size, in bits per sample. System.Audio.ChannelCount 0x00000007 VT_UI4 The number of channels of audio. Property Set #define PSGUID_VIDEO \ {64440491-4C8B-11D1-8B70-080036B11A03} Name/PropId Datatype Description System.Video.StreamName 0x00000002 VT_LPWSTR The name of the stream. System.Video.FrameWidth 0x00000003 VT_UI4 The in pixels, of a frame. System.Video.FrameHeight 0x00000004 VT_UI4 The height, in pixels, of a frame. VideoTimeLength 0x00000005 VT_UI4 The duration, in 100-ns units. System.Video.FrameRate 0x00000006 VT_UI4 The number of frames in video.
VideoFrameCount 0x00000007 VT_UI4 The frames per second. System.Video.EncodingBitrate 0x00000008 VT_UI4 The bits per second. 0x00000009 VT_UI4 The bits per sample. System.Video.Compression 0x0000000A VT_LPWSTR The description of video compression. Mime Properties #define NNTPGuid \ {0xAA568EEC,0xE0E5,0x11CF,0x8F,0xDA,0x00,0xAA,0x00,0xA1,0x4F,0x93} Name/PropId Datatype Description MsgNewsgroup 0x00000002 VT_LPWSTR The newsgroup for the message. MsgSubject 0x00000005 VT_LPWSTR The subject of the message. MsgFrom 0x00000006 VT_LPWSTR Who sent the message. MsgMessageID 0x00000007 VT_LPWSTR The unique ID for email. MsgDate 0x0000000C VT_FILETIME When the message was sent. MsgReceivedDate 0x00000035 VT_FILETIME When the message was received. MsgArticleID 0x0000003C VT_UI4 The unique identifier for the newsgroup article. Full property table Property Name GUID Description I D M
Index A Abstract data model 211 175 12 13 C 45 47 45 13 17 41 41 42 35 54 54 41 25 49 50 52 38 24 239 48 48 27 Client 211 212 212 remote Windows search service catalog 212 212 212 219 message processing 216 217 218 218 218 217 219 219 216 219 sequencing rules 216 217 218 218 218 217 219 219 216 219 212 28 29 53 86 87 66 69 70 72 88 83 84 88 89 88 88 85 86 85 74 74 73 73 89 90 76 79 92 93 82 82 87 85 76 92 92 37 30 43 36 39 38 55 55 56 56 56 58 33 34 47 59 59 35
Data model abstract 211 175 21 93 93 220 F 14 9 H 62 Higher-layer triggered events 212 212 remote Windows search service catalog 212 212 175 I 14 234 234 11 Initialization 212 175 9 Local events 219 192 62 Message processing client 216 217 218 218 218 217 219 219 216 server 176 remote Windows search service 177 178 62 Messages 64 93 62 62 15 94 15 15 15 N 11 O 95 Other local events 219 192 12 P 61 234 234 13 13 235 Properties 95 95 94 14 Protocol Details 174 Q Query 220 95 12 R 43 11 11 11 13 12 12 S 22 23