3.1.4.6 NspiGetPropList (Opnum 8)

The NspiGetPropList method returns a list of all the properties that have values on a specified object.

 long NspiGetPropList(
   [in] NSPI_HANDLE hRpc,
   [in] DWORD dwFlags,
   [in] DWORD dwMId,
   [in] DWORD CodePage,
   [out] PropertyTagArray_r** ppPropTags
 );

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

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

dwMId: A DWORD value, containing a MId.

CodePage: The codepage in which the client wishes the server to express string values properties.

ppPropTags: A PropertyTagArray_r value. On return, it holds a list of properties.

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 ppPropTags.

  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 CodePage does not specify a codepage the NSPI server supports, the server MUST return the return value InvalidCodepage.

  4. If the input parameter dwMId does not specify an object in the Address Book, the server MUST return the value GeneralFailure.

  5. If the input parameter dwFlags contains the bit flag fSkipObjects, the server MUST NOT return any proptags with the Property Type PtypEmbeddedTable in the output parameter ppPropTags.

  6. If the input parameter CodePage is CP_WINUNICODE, the server MUST return all string valued properties as having the Property Type PtypString.

  7. If the input parameter CodePage is not CP_WINUNICODE, the server MUST return all string valued properties as having the Property Type PtypString8.

  8. Subject to the previous constraints, the server constructs a list of all proptags corresponding to values on the object specified in the input parameter dwMId. The server MUST return this list in the output parameter ppPropTags. The protocol does not constrain the order of this list.

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