NspiQueryColumns (Opnum 16)

The NspiQueryColumns method returns a list of all the properties that the 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.2.10.

Reserved: A DWORD [MS-DTYP] value reserved for future use. Ignored by the server.

dwFlags: A DWORD value that contains 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 [MS-DTYP] value that specifies 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, as described in 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.

  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 a PropertyTagArray_r structure, as specified in section, 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".