<div class="content"><p> </p><p>The NspiGetNamesFromIDs method returns a list of property
names for a set of <span><a href="1b8009c5-72bc-41da-bbab-612b31da4410#gt_7eb84614-827d-4b68-a71c-dd94eb0ad27f" data-linktype="relative-path">proptags</a></span>. </p><dl>
<dd>
<div><pre> long NspiGetNamesFromIDs(
   [in] NSPI_HANDLE hRpc,
   [in] DWORD Reserved,
   [in, unique] FlatUID_r* lpguid,
   [in, unique] PropertyTagArray_r* pPropTags,
   [out] PropertyTagArray_r** ppReturnedPropTags,
   [out] PropertyNameSet_r** ppNames
 );
</pre></div>
</dd></dl><p><b>hRpc: </b>An <span><a href="1b8009c5-72bc-41da-bbab-612b31da4410#gt_8a7f6700-8311-45bc-af10-82e10accd331" data-linktype="relative-path">RPC</a></span> context handle
as specified in section <span><a href="67195f6a-2002-4d81-b279-ba8b0aefb4af" data-linktype="relative-path">2.3.9</a></span>.</p><p><b>Reserved: </b>A <span><a href="../ms-dtyp/262627d8-3418-4627-9218-4ffe110850b2" data-linktype="relative-path">DWORD</a></span>
value reserved for future use. Ignored by the server. </p><p><b>lpguid: </b>The value NULL or a <span><a href="09f5370d-05ee-459e-903a-4e63e1928169" data-linktype="relative-path">FlatUID_r</a></span>
value. Specifies the property set about which the client is requesting
information.</p><p><b>pPropTags: </b>The value NULL or a <span><a href="9dc42856-90da-4df9-85ca-f8307db84659" data-linktype="relative-path">PropertyTagArray_r</a></span>
value. Specifies the specific <span><a href="1b8009c5-72bc-41da-bbab-612b31da4410#gt_0b28d5bf-a1bb-436d-a721-34e2cfae489b" data-linktype="relative-path">Property IDs</a></span> about
which the client is requesting information.</p><p><b>ppReturnedPropTags: </b>Contains an SPropTagArray.
On return, it contains a list of all the proptags in the property set specified
in the input parameter <i>lpguid</i>. If <i>lpguid</i> is NULL, this value MUST
be NULL.</p><p><b>ppNames: </b> A <span><a href="fb477bfb-3d02-4f1b-b3af-7dc0605fa736" data-linktype="relative-path">PropertyNameSet_r</a></span>
value. On return, it contains a list of property names satisfying the client&#39;s
request.</p><p><b>Return Values: </b>The server returns a long value
specifying the return status of the method.</p><p>Exceptions Thrown</p><p>No exceptions are thrown beyond those thrown by the
underlying RPC protocol, as specified in <span><a href="../ms-rpce/290c38b1-92fe-4229-91e6-4fc376610c15" data-linktype="relative-path">[MS-RPCE]</a></span>.</p><p>Server Processing Rules</p><p>Upon receiving this message, the server MUST process the
data from the message subject to the following constraints:</p><ol><li><p><span>    </span>If the server
returns any return value other than Success, the server MUST return a NULL for
the output parameters <i>ppReturnedPropTags</i> and <i>ppNames</i>. </p>
</li><li><p><span>    </span>The server MAY
make additional validations as described in section <span><a href="39bcbcd7-fa18-4eb2-a2ae-c598b6683185" data-linktype="relative-path">5</a></span>. 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 <span><a href="36c0f768-1fdd-4709-9875-6c387b107560" data-linktype="relative-path">5.1</a></span> for more
information.</p>
</li><li><p><span>    </span>If the input
parameter <i>pPropTags</i> has the value NULL and the input parameter <i>lpGuid</i>
has the value PS_MAPI, as defined in <span><a href="/en-us/openspecs/exchange_server_protocols/MS-OXCDATA/1afa0cd9-b1a0-4520-b623-bf15030af5d8" data-linktype="absolute-path">[MS-OXCDATA]</a></span>,
the server MUST return the value NotSupported.</p>
</li><li><p><span>    </span>The server
constructs a list of property sets as follows:</p>
<ol><li><p><span>   
</span>If the input parameter <i>lpGuid</i> is not NULL, the list of property
sets contains only the property set specified by the value of <i>lpGuid</i>.</p>
</li><li><p><span>   
</span>If the input parameter <i>lpGuid</i> is NULL, the list of property sets
contains all property sets supported by the <span><a href="1b8009c5-72bc-41da-bbab-612b31da4410#gt_e63aea5b-046b-4176-9359-fde82613a406" data-linktype="relative-path">NSPI</a></span> server.</p>
</li></ol></li><li><p><span>    </span>The server
constructs a list of proptags as follows:</p>
<ol><li><p><span>   
</span>If the input parameter <i>pPropTags</i> is not NULL, the list of
proptags contains the proptags specified by the value of <i>pPropTags</i>. The
list is ordered in one-to-one order preserving correspondence with the proptags
specified by the input parameter <i>pPropTags</i>.</p>
</li><li><p><span>   
</span>If the input parameter <i>pPropTags</i> is NULL, the list of proptags
contains all the proptags supported by the NSPI server. The ordering of the
list is not specified.</p>
</li></ol></li><li><p><span>    </span>If the input
parameter <i>pPropTags</i> has the value NULL and the input parameter <i>lpGuid</i>
has the value NULL, the server MUST NOT return any names from the property set
PS_MAPI as defined in [MS-OXCDATA].</p>
</li><li><p><span>    </span>The server
constructs a list of <span><a href="0060b749-9873-450e-9b4b-b288afc42dc5" data-linktype="relative-path">PropertyName_r</a></span>
structures. This list MUST be in a one-to-one order preserving correspondence
with the constructed list of proptags. The values in this list are constructed
as follows:</p>
<ol><li><p><span>   
</span>If the proptag in the constructed list of proptags is not a member of
one of the property sets in the constructed list of property sets, the server
MUST map that proptag to a PropertyName_r structure with the <i>lpGuid</i>
field set to the property set value NULL and the <b>lID</b> field set to the
value 0.</p>
</li><li><p><span>   
</span>If the server is able to identify a proptag as being a member of a
property set in the constructed list of property sets, it maps the proptag to a
PropertyName_r structure with the <i>lpGuid</i> field set to the property set
the proptag is a member of and the <b>lID</b> field set to the value of the
proptag.</p>
</li><li><p><span>   
</span>If the server is otherwise unable to map a proptag to a PropertyName_r
structure, the server MUST map that property to a PropertyName_r structure with
the <i>lpGuid</i> field set to the property set value NULL and the <b>lID</b>
field set to the value 0.</p>
</li></ol></li><li><p><span>    </span>The server MUST
return the constructed list of PropertyName_r structures in the output
parameter <i>ppNames</i>.</p>
</li><li><p><span>    </span>If the value of
the input parameter <i>pPropTags</i> is NULL, the server constructs a list of
proptags from the elements of the list of PropertyName_r structures in the
parameter <i>ppNames</i>. The proptags in the list of proptags are in a
one-to-one order preserving correspondence with the list of PropertyName_r
structures in <i>ppNames</i>. The server MUST return this list in the output
parameter <i>ppReturnedPropTags</i>.</p>
</li><li><p><span>  </span>If the value of the input
parameter <i>pPropTags</i> is not NULL, the server MUST set the value of the
output parameter <i>ppReturnedPropTags</i> to NULL.</p>
</li><li><p><span>  </span>If no other return values
have been specified by these constraints, the server MUST return the return
value Success.</p>
</li></ol></div>