NspiQueryColumns (Opnum 16)

The NspiQueryColumns method returns a list of all the properties the NSPI server is aware of. It returns this list as an array of proptags.

 long NspiQueryColumns(
   [in] NSPI_HANDLE hRpc,
   [in] DWORD Reserved,
   [in] DWORD dwFlags,
   [out] PropertyTagArray_r** ppColumns

hRpc: An RPC context handle as specified in section 2.3.9.

Reserved: A DWORD value reserved for future use. Ignored by the server.

dwFlags: A DWORD value containing a set of bit flags. The server MUST ignore values other than the bit flag NspiUnicodeProptypes.

ppColumns: A reference to a PropertyTagArray_r structure. On return, contains a list of proptags.

Return Values: The server returns a long value specifying the return status of the method.

Exceptions Thrown

No exceptions are thrown beyond those thrown by the underlying RPC protocol, as specified in [MS-RPCE].

Server Processing Rules

Upon receiving this message, the server MUST process the data from the message subject to the following constraints:

  1. If the server returns any return value other than Success, the server MUST return a NULL for the output parameter ppColumns.

  2. The server MAY make additional validations according to section 5. If the server chooses to limit the visibility of data based on these validations, the server MUST proceed as if that data did not exist in the address book. See the product behavior note cited in section 5.1 for more information.

  3. If the input parameter dwFlags contains the bit flag NspiUnicodeProptypes, then the server MUST report the Property Type of all string valued properties as PtypString.

  4. If the input parameter dwFlags does not contain the bit flag NspiUnicodeProptypes, the server MUST report the Property Type of all string valued properties as PtypString8.

  5. Subject to the prior constraints, the server MUST construct a list of all the properties it is aware of and return that list as an SPropTagArray in the output parameter ppColumns. The protocol does not constrain the order of this list.

  6. If no error condition has been specified by the previous constraints, the server MUST return the value Success.