• Messages
  • [ms-wsp]: Windows Search Protocol Intellectual Property Rights Notice for Open Specifications Documentation




    Download 349.46 Kb.
    bet14/28
    Sana25.03.2020
    Hajmi349.46 Kb.
    #8793
    1   ...   10   11   12   13   14   15   16   17   ...   28

    Message Headers


    All Windows Search Protocol messages have a 16-byte header.

    The following table shows the Windows Search Protocol message header format.



    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

    _msg

    _status

    _ulChecksum

    _ulReserved2

    _msg (4 bytes): A 32-bit integer that identifies the type of message following the header. The following table lists the Windows Search Protocol messages and the integer values specified for each message. As shown in the table, some values identify two messages. In those instances, the message following the header can be identified by the direction of the message flow. If the direction is client to server, the message with "In" appended to the message name is indicated. If the direction is server to client, the message with "Out" appended to the message name is indicated.

    Value

    Meaning

    0x000000C8

    CPMConnectIn or CPMConnectOut

    0x000000C9

    CPMDisconnect

    0x000000CA

    CPMCreateQueryIn or CPMCreateQueryOut

    0x000000CB

    CPMFreeCursorIn or CPMFreeCursorOut

    0x000000CC

    CPMGetRowsIn or CPMGetRowsOut

    0x000000CD

    CPMRatioFinishedIn or CPMRatioFinishedOut

    0x000000CE

    CPMCompareBmkIn or CPMCompareBmkOut

    0x000000CF

    CPMGetApproximatePositionIn or CPMGetApproximatePositionOut

    0x000000D0

    CPMSetBindingsIn

    0x000000D1

    CPMGetNotify

    0x000000D2

    CPMSendNotifyOut

    0x000000D7

    CPMGetQueryStatusIn or CPMGetQueryStatusOut

    0x000000D9

    CPMCiStateInOut

    0x000000E4

    CPMFetchValueIn or CPMFetchValueOut

    0x000000E7

    CPMGetQueryStatusExIn or CPMGetQueryStatusExOut

    0x000000E8

    CPMRestartPositionIn

    0x000000EC

    CPMSetCatStateIn (not supported)

    0x000000F1

    CPMGetRowsetNotifyIn or CPMGetRowsetNotifyOut

    0x000000F2

    CPMFindIndicesIn, or CPMFindIndicesOut

    0x000000F3

    CPMSetScopePrioritizationIn or CPMSetScopePrioritizationOut

    0x000000F4

    CPMGetScopeStatisticsIn or CPMGetScopeStatisticsOut

    _status (4 bytes): An HRESULT, indicating the status of the requested operation. The client MUST initialize this value to 0x00000000. The server then changes it as the status of the requested operation changes.

    _ulChecksum (4 bytes): The _ulChecksum MUST be calculated as specified in section 3.2.4 for the following messages:

    • CPMConnectIn

    • CPMCreateQueryIn

    • CPMSetBindingsIn

    • CPMGetRowsIn

    • CPMFetchValueIn

    Note  For all other 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).
        1. Messages

          1. CPMCiStateInOut


    The CPMCiStateInOut message contains information about the state of the GSS.

    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

    dwPropCacheSize

    cbStruct (4 bytes): A 32-bit unsigned integer indicating the size, in bytes, of this message (excluding the common header). MUST be set to 0x0000003C.

    cWordList (4 bytes): A 32-bit unsigned integer containing the number of in-memory indexes created for recently indexed documents.

    cPersistentIndex (4 bytes): A 32-bit unsigned integer containing the number of persisted indexes.

    cQueries (4 bytes): A 32-bit unsigned integer indicating a number of actively running queries.

    cDocuments (4 bytes): A 32-bit unsigned integer indicating the total number of documents waiting to be indexed.

    cFreshTest (4 bytes): A 32-bit unsigned integer indicating the number of unique documents with information in indexes that are not fully optimized for performance.

    dwMergeProgress (4 bytes): A 32-bit unsigned integer specifying the completion percentage of current full optimization of indexes while optimization is in progress. MUST be less than or equal to 100.

    eState (4 bytes): A 32-bit unsigned integer indicating the state of content indexing. MUST be zero or one or more of the CI_STATE_* constants defined in the following table.

    Value

    Meaning

    0x00000000

    None of the following states apply.

    CI_STATE_SHADOW_MERGE

    0x00000001



    The GSS is in the process of optimizing some of the indexes to reduce memory usage and improve query performance.

    CI_STATE_MASTER_MERGE

    0x00000002



    The GSS is in the process of full optimization for all indexes.

    CI_STATE_CONTENT_SCAN_REQUIRED

    0x00000004



    Some documents in the inverted index have changed and the GSS needs to determine which have been added, changed, or deleted.

    CI_STATE_ANNEALING_MERGE

    0x00000008



    The GSS is in the process of optimizing indexes to reduce memory usage and improve query performance. This process is more comprehensive than the one identified by the CI_STATE_SHADOW_MERGE value, but it is not as comprehensive as specified by the CI_STATE_MASTER_MERGE value. Such optimizations are implementation-specific as they depend on the way data is stored internally; the optimizations do not affect the protocol in any way other than response time.

    CI_STATE_SCANNING

    0x00000010



    The GSS is checking a directory or a set of directories to determine if any files have been added, deleted, or updated since the last time the directory was indexed.

    CI_STATE_LOW_MEMORY

    0x00000080



    Most of the virtual memory of the server is in use.

    CI_STATE_HIGH_IO

    0x00000100



    The level of input/output (I/O) activity on the server is relatively high.

    CI_STATE_MASTER_MERGE_PAUSED

    0x00000200



    The process of full optimization for all indexes that was in progress has been paused. This is given for informative purposes only and does not affect the Windows Search Protocol.

    CI_STATE_READ_ONLY

    0x00000400



    The portion of the GSS that picks up new documents to index has been paused. This is given for informative purposes only and does not affect the Windows Search Protocol.

    CI_STATE_BATTERY_POWER

    0x00000800



    The portion of the GSS that picks up new documents to index has been paused to conserve battery lifetime but still replies to the queries. This is given for informative purposes only and does not affect the Windows Search Protocol.

    CI_STATE_USER_ACTIVE

    0x00001000



    The portion of the GSS that picks up new documents to index has been paused due to high activity by the user (keyboard or mouse) but still replies to the queries. This is given for informative purposes only and does not affect the Windows Search Protocol.

    CI_STATE_LOW_DISK

    0x00010000



    The service is paused due to low disk availability.

    CI_STATE_HIGH_CPU

    0x00020000



    The service is paused due to high CPU usage.

    cFilteredDocuments (4 bytes): A 32-bit unsigned integer indicating the number of documents indexed since content indexing began.

    cTotalDocuments (4 bytes): A 32-bit unsigned integer indicating the total number of documents in the system.

    cPendingScans (4 bytes): A 32-bit unsigned integer indicating the number of pending high-level indexing operations. The meaning of this value is provider-specific, but larger numbers are expected to indicate that more indexing remains.<4>



    dwIndexSize (4 bytes): A 32-bit unsigned integer indicating the size, in megabytes, of the index (excluding the property cache).

    cUniqueKeys (4 bytes): A 32-bit unsigned integer indicating the approximate number of unique keys in the catalog.

    cSecQDocuments (4 bytes): A 32-bit unsigned integer indicating the number of documents that the GSS will attempt to index again because of a failure during the initial indexing attempt.

    dwPropCacheSize (4 bytes): A 32-bit unsigned integer indicating the size, in megabytes, of the property cache.


          1. Download 349.46 Kb.
    1   ...   10   11   12   13   14   15   16   17   ...   28




    Download 349.46 Kb.

    Bosh sahifa
    Aloqalar

        Bosh sahifa



    [ms-wsp]: Windows Search Protocol Intellectual Property Rights Notice for Open Specifications Documentation

    Download 349.46 Kb.