WindowsXP/admin/wmi/wbem/winmgmt/specs/html/interface_iwbemqualifierset.htm
2025-04-27 07:49:33 -04:00

595 lines
26 KiB
HTML

<html>
<head>
<title>Interface IWbemQualifierSet</title>
<meta name="GENERATOR" content="Microsoft FrontPage 3.0">
</head>
<body bgcolor="#FFFFB9">
<font FACE="Arial Narrow" SIZE="6" COLOR="#800000">
<p></font><font FACE="Arial Narrow" SIZE="6"><b>Interface IWbemQualifierSet</b></font><font
SIZE="2" COLOR="#ff00ff"></p>
</font><font FACE="Arial" SIZE="2">
<p>The object that exports the <b>IWbemQualifierSet</b> interface acts as a container for
the entire set of named qualifiers for a single property, Also, it can act as a container
for an entire class object, instance, or class definition, depending on how the pointer
was obtained. If the pointer was obtained from <b>IWbemClassObject::GetQualifierSet</b>,
the object consists of the set of qualifiers for an entire object (a class or instance).
If the pointer was obtained from <b>IWbemClassObject::GetPropertyQualifierSet</b>, then
the object represents the qualifiers for a particular property on a class or instance.</p>
<p>Within WBEM, this interface is always in-process. <b>Put</b> operations only affect the
local copy of the object. <b>Get</b> operations retrieve values from the local copy.
Updates are performed only when entire objects are read or written using methods on the <b>IWbemServices</b>
interface.</p>
<p><em>Dynamic providers must not implement this interface; the implementation provided by
WBEM must be used.</em></p>
</font>
<table CELLSPACING="0" BORDER="0" WIDTH="629">
<tr>
<td VALIGN="TOP" COLSPAN="2" width="627"></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><font FACE="Arial" SIZE="2"><b>IWbemQualifierSet Methods</b></font></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2"><b>Description</b></font></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><a href="#Get"><font FACE="Arial" SIZE="2"><b>Get</b></font></a></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2">Reads a particular named
qualifier.</font></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><a href="#Put"><font FACE="Arial" SIZE="2"><b>Put</b></font></a></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2">Writes a particular named
qualifier.</font></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><a href="#Delete"><font FACE="Arial" SIZE="2"><b>Delete</b></font></a></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2">Deletes the specified named
qualifier.</font></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><a href="#GetNames"><font FACE="Arial" SIZE="2"><b>GetNames</b></font></a></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2">Gets the names of qualifiers
subject to certain filters.</font></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><a href="#BeginEnumeration"><font FACE="Arial" SIZE="2"><b>BeginEnumeration</b></font></a></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2">Resets prior to an enumeration of
all qualifiers.</font></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><strong><a href="#Next"><font FACE="Arial" SIZE="2">Next</font></a></strong></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2">Gets the next qualifier during an
enumeration of all qualifiers.</font></td>
</tr>
<tr>
<td WIDTH="223" VALIGN="TOP"><a href="#EndEnumeration"><font FACE="Arial" SIZE="2"><b>EndEnumeration</b></font></a></td>
<td WIDTH="402" VALIGN="TOP"><font FACE="Arial" SIZE="2">Ends an enumeration of
qualifiers.</font></td>
</tr>
</table>
<p><font FACE="Arial" SIZE="1">&nbsp;</p>
</font>
<hr>
<font FACE="Arial Narrow" SIZE="5" COLOR="#800000">
<p></font><a name="Get"></a><font FACE="Arial Narrow" SIZE="5"><b>IWbemQualifierSet::Get</b></font><font
SIZE="2" COLOR="#ff00ff"></p>
</font>
<p><font FACE="Arial" SIZE="2">The <b>IWbemQualifierSet::Get</b> method gets the specified
named qualifier, if found.</font></p>
<b><font FACE="Lucida Sans Typewriter" SIZE="2">
<p><font color="#008000">HRESULT IWbemQualifierSet::Get(<br>
&nbsp;&nbsp;&nbsp; [in] BSTR<i> strName</i>,<br>
&nbsp;&nbsp;&nbsp; [in] LONG <i>lFlags</i>,<br>
&nbsp;&nbsp;&nbsp; [out, OPTIONAL] VARIANT<i> *pVal</i>,<br>
&nbsp;&nbsp;&nbsp; [out, OPTIONAL] LONG <i>*plFlavor<br>
</i>&nbsp;&nbsp;&nbsp; );</font></p>
</font><font FACE="Arial Narrow">
<p>Parameters</font></b><font FACE="Arial" SIZE="2"><i></p>
<p>strName<br>
</i>The qualifier name for which the value is being requested. This must point to a valid
BSTR which is not NULL. The pointer is treated as read-only.<i></p>
<p>lFlags<br>
</i>Reserved. Must be zero.<i></p>
<p>pVal<br>
</i>When successful, the <b>VARIANT</b> is assigned to the correct type and value for the
qualifier. <b>VariantInit</b> is called on this <b>VARIANT</b>, so a pointer to a VARIANT
already containing a value should be cleared before using it as a parameter.<i></p>
<p></i>It is the responsibility of the caller to call <b>VariantClear</b> on the pointer
when the value is no longer required. If there is an error code, the <b>VARIANT</b>
pointed to by pVal is not modified.</p>
<p>If this parameter is NULL, the parameter is ignored.</p>
<i>
<p>plFlavor<br>
</i>Can be NULL. If not NULL, this must point to a LONG that receives the qualifier flavor
bits for the requested qualifier. <i></p>
</i></font><font FACE="Arial Narrow"><b>
<p>Return Values</b></font></p>
<table CELLSPACING="0" BORDER="0" WIDTH="464">
<tr>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_PARAMETER</font></td>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">An invalid parameter was
specified.</font></td>
</tr>
<tr>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_NOT_FOUND</font></td>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">The specified qualifier did not
exist.</font></td>
</tr>
<tr>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_ERROR</font></td>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">The call succeeded.</font></td>
</tr>
</table>
<font FACE="Arial Narrow"><b>
<p>See Also</b></font><font FACE="Arial" SIZE="2"></p>
</font><font FACE="Arial Narrow" SIZE="5" COLOR="#800000">
<hr>
<p></font><a name="Put"></a><font FACE="Arial Narrow" SIZE="5"><b>IWbemQualifierSet::Put</b></font><font
SIZE="2" COLOR="#ff00ff"></p>
</font><font FACE="Arial" SIZE="2">
<p>The <b>IWbemQualifierSet::Put</b> method writes the named qualifier and value. If the
qualifier does not exist, it is created. The new qualifier overwrites the previously
existing value of the same name.</p>
<p>In some cases, it is not possible to write the value of a qualifier if it was
propagated from another object. Propagated qualifiers are generally read-only, but they
can be overridden in some cases. </p>
<p>When writing the <i>key </i>qualifier, it is not necessary to specify any flavors or
propagation rules.</p>
<p>The user may not create qualifiers with names that begin or end with an underscore.
This is reserved for system classes and properties.</font><b><font
FACE="Lucida Sans Typewriter" SIZE="2"></p>
<p><font color="#008000">HRESULT IWbemQualifierSet::Put(<br>
&nbsp;&nbsp;&nbsp; [in] BSTR<i> strName</i>,<br>
&nbsp;&nbsp;&nbsp; [in] VARIANT<i> *pVal</i>,<br>
&nbsp;&nbsp;&nbsp; [in] LONG<i> lFlavor<br>
</i>&nbsp;&nbsp;&nbsp; );</font></p>
</font><font FACE="Arial Narrow">
<p>Parameters</font></b><font FACE="Arial" SIZE="2"><i></p>
<p>strName<br>
</i>The name of the qualifier that is being written. This must point to a valid non-NULL
BSTR. The pointer is treated as read-only.<i></p>
<p>pVal<br>
</i>Cannot be NULL. This must point to a valid <b>VARIANT</b> that contains the qualifier
value to be written. The pointer is treated as read-only. It is the caller's
responsibility to call <b>VariantClear</b> on this pointer after the value is no longer
needed.</p>
<p>Only variants of type VT_I4, VT_R8, VT_BSTR, VT_BOOL and arrays of types VT_BSTR,
VT_I4, VT_R8, and VT_BOOL are supported.</p>
<i>
<p>lFlavor<br>
</i>The desired qualifier flavor for this qualifier. Not required if the qualifier is the
key qualifier (can be zero).<i></p>
</i></font><font FACE="Arial Narrow"><b>
<p>Return Values</b></font></p>
<table CELLSPACING="0" BORDER="0" WIDTH="581">
<tr>
<td WIDTH="258" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_CANNOT_BE_KEY</font></td>
<td WIDTH="319" VALIGN="TOP"><font FACE="Arial" SIZE="2">There was an illegal attempt to
specify a key qualifier on a property that cannot be a key. The keys are specified in the
class definition for an object, and cannot be altered on a per-instance basis.</font></td>
</tr>
<tr>
<td WIDTH="258" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_PARAMETER</font></td>
<td WIDTH="319" VALIGN="TOP"><font FACE="Arial" SIZE="2">An invalid parameter was
specified.</font></td>
</tr>
<tr>
<td WIDTH="258" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_QUALIFIER_TYPE</font></td>
<td WIDTH="319" VALIGN="TOP"><font FACE="Arial" SIZE="2">The <i>pVal</i> parameter is not
of a legal qualifier type. </font></td>
</tr>
<tr>
<td WIDTH="258" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_OVERRIDE_NOT_ALLOWED</font></td>
<td WIDTH="319" VALIGN="TOP"><font FACE="Arial" SIZE="2">It is not possible to perform the
<b>IWbemQualifierSet::Put</b> operation on this qualifier because the owning object does
not permit overrides.</font></td>
</tr>
<tr>
<td WIDTH="258" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_ERROR</font></td>
<td WIDTH="319" VALIGN="TOP"><font FACE="Arial" SIZE="2">The call succeeded.</font></td>
</tr>
<tr>
<td WIDTH="258" VALIGN="TOP"><font color="#FF0000" FACE="Arial" SIZE="2">WBEM_E_INVALID_QUALIFIER</font></td>
<td WIDTH="319" VALIGN="TOP"><font color="#FF0000" FACE="Arial" SIZE="2">Qualifiers
mismatched.&nbsp; For example, the qualifiers &quot;dynamic&quot; and &quot;key&quot;
cannot exist in the same qualifier set.</font></td>
</tr>
</table>
<font FACE="Arial Narrow"><b>
<p>See Also</b></font><font FACE="Arial" SIZE="2"></p>
</font><font FACE="Arial Narrow" SIZE="5" COLOR="#800000">
<hr>
<p></font><a name="Delete"></a><font FACE="Arial Narrow" SIZE="5"><b>IWbemQualifierSet::Delete</b></font><font
SIZE="2" COLOR="#ff00ff"></p>
</font><font FACE="Arial" SIZE="2">
<p>The <b>IWbemQualifierSet::Delete</b> method deletes the specified qualifier by name.
Due to qualifier propagation rules, a particular qualifier may have been inherited from
another object and merely overridden in the current class or instance. In this case, use
the <b>Delete</b> method to reset the qualifier to the original inherited value.</p>
</font><b><font FACE="Lucida Sans Typewriter" SIZE="2">
<p><font color="#008000">HRESULT IWbemQualifierSet::Delete(<br>
&nbsp;&nbsp;&nbsp; [in] BSTR<i> strName </i><br>
&nbsp;&nbsp;&nbsp; );</font></p>
</font><font FACE="Arial Narrow">
<p>Parameters</font></b><font FACE="Arial" SIZE="2"><i></p>
<p>strName<br>
</i>The name of the qualifier to delete. This must be a valid non-NULL BSTR. The pointer
is treated as read-only.<i></p>
</i></font><font FACE="Arial Narrow"><b>
<p>Return Values</b></font></p>
<table CELLSPACING="0" BORDER="0" WIDTH="562">
<tr>
<td WIDTH="230" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_OPERATION</font></td>
<td WIDTH="328" VALIGN="TOP"><font FACE="Arial" SIZE="2">Deleting this qualifier is
illegal.</font></td>
</tr>
<tr>
<td WIDTH="230" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_PARAMETER</font></td>
<td WIDTH="328" VALIGN="TOP"><font FACE="Arial" SIZE="2">The <i>Name</i> parameter was not
valid.</font></td>
</tr>
<tr>
<td WIDTH="230" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_NOT_FOUND</font></td>
<td WIDTH="328" VALIGN="TOP"><font FACE="Arial" SIZE="2">The specified qualifier was not
found.</font></td>
</tr>
<tr>
<td WIDTH="230" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_ERROR</font></td>
<td WIDTH="328" VALIGN="TOP"><font FACE="Arial" SIZE="2">The call succeeded.</font></td>
</tr>
<tr>
<td WIDTH="230" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_RESET_TO_DEFAULT</font></td>
<td WIDTH="328" VALIGN="TOP"><font FACE="Arial" SIZE="2">When deleting an overridden
qualifier, this status code (a non-error code) indicates that the local override was
deleted, and that the original qualifier from the parent object has resumed scope. A
subsequent attempt to get the qualifier will succeed, returning the parent's value.</font></td>
</tr>
</table>
<font FACE="Arial" SIZE="1">
<p></font><font FACE="Arial Narrow"><b>&nbsp;</p>
<p>See Also</b></font><font FACE="Arial" SIZE="2"></p>
</font><font FACE="Arial Narrow" SIZE="5" COLOR="#800000">
<hr>
<p></font><a name="GetNames"></a><font FACE="Arial Narrow" SIZE="5"><b>IWbemQualifierSet::GetNames</b></font><font
SIZE="2" COLOR="#ff00ff"></p>
</font><font FACE="Arial" SIZE="2">
<p>The <b>IWbemQualifierSet::GetNames</b> method retrieves the names of all of the
qualifiers available from the current object or property. Alternately, depending on the
filter value of <i>IFlags</i>, this method retrieves the names of certain qualifiers. </p>
<p>You can access these qualifiers by name, using <b>IWbemQualifierSet::Get</b> for each
name. It is not an error for any given object to have zero qualifiers, so the number of
strings in <i>pstrNames</i> on return can be zero, even though WBEM_S_NO_ERROR returns.</font><b><font
FACE="Lucida Sans Typewriter" SIZE="2"></p>
<p><font color="#008000">HRESULT IWbemQualifierSet::GetNames(<br>
&nbsp;&nbsp;&nbsp; [in] LONG<i> lFlags</i>,<br>
&nbsp;&nbsp;&nbsp; [out] SAFEARRAY (BSTR) <i>*pstrNames </i><br>
&nbsp;&nbsp;&nbsp; );</font></p>
</font><font FACE="Arial Narrow">
<p>Parameters</font></b><font FACE="Arial" SIZE="2"><i></p>
<p>lFlags<br>
</i>One of the following constants:<i></p>
</i></font>
<table CELLSPACING="0" BORDER="0" WIDTH="633">
<tr>
<td WIDTH="239" VALIGN="TOP"><font FACE="Arial" SIZE="2">0 (Zero)</font></td>
<td WIDTH="390" VALIGN="TOP"><font FACE="Arial" SIZE="2">Return the names of all
qualifiers.</font></td>
</tr>
<tr>
<td WIDTH="239" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_FLAG_LOCAL_ONLY</font></td>
<td WIDTH="390" VALIGN="TOP"><font FACE="Arial" SIZE="2">Return only the names of
qualifiers specific to the current property or object. If the current qualifiers set
refers to a property, return only the qualifiers specific to the property (including
overrides), and not those qualifiers propagated from the class definition. If the current
qualifiers set refers to an instance, return only instance-specific qualifier names. If
the current qualifiers set refers to a class, return only qualifiers specific to the
derived-most class.</font></td>
</tr>
<tr>
<td WIDTH="239" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_FLAG_PROPAGATED_ONLY</font></td>
<td WIDTH="390" VALIGN="TOP"><font FACE="Arial" SIZE="2">Return only the names of
qualifiers propagated from another object. For example, if the current qualifier set
refers to a property, return only the qualifiers propagated to this property from the
class definition, and not those from the property itself. If the current qualifier set
refers to an instance, return only those qualifiers propagated from the class definition.
If the current qualifier set refers to a class, return only those qualifier names
inherited from the superclasses.</font></td>
</tr>
</table>
<font FACE="Arial" SIZE="2"><i>
<p>pstrNames<br>
</p>
<p></i>A new <font FACE="Arial Bold" SIZE="2"><b>SAFEARRAY</b></font> is created that
contains the requested names.</p>
<p>In all cases where no error is returned, a new array is created and <i>pstrNames</i> is
set to point to it. This occurs even though the resulting array has zero elements. On
error, a new <b>SAFEARRAY</b> is not returned.</p>
</font><font FACE="Arial Narrow"><b>
<p>Return Values</b></font></p>
<table CELLSPACING="0" BORDER="0" WIDTH="464">
<tr>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_PARAMETER</font></td>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">An invalid parameter was
specified.</font></td>
</tr>
<tr>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_OUT_OF_MEMORY</font></td>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">There was not enough memory to
complete the operation.</font></td>
</tr>
<tr>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_ERROR</font></td>
<td WIDTH="50%" VALIGN="TOP"><font FACE="Arial" SIZE="2">The call succeeded.</font></td>
</tr>
</table>
<b><font FACE="Arial Narrow">
<p>See Also</font><font FACE="Arial" SIZE="2"></p>
</font></b><font FACE="Arial Narrow" SIZE="5" COLOR="#800000">
<hr>
<p></font><a name="BeginEnumeration"></a><font FACE="Arial Narrow" SIZE="5"><b>IWbemQualifierSet::BeginEnumeration</b></font><font
SIZE="2" COLOR="#ff00ff"></p>
</font><font face="Arial" size="2">
<p>The <b>IWbemQualifierSet::BeginEnumeration</b> method resets before there is an
enumeration of all the qualifiers in the object. To enumerate all of the qualifiers on an
object, this method must be called before the first call to <b>IWbemQualifierSet::Next.</font><font
FACE="Lucida Sans Typewriter" SIZE="2"></p>
<p><font color="#008000">HRESULT IWbemQualifierSet::BeginEnumeration(<br>
&nbsp;&nbsp;&nbsp; [in] LONG<i> lFlags </i><br>
&nbsp;&nbsp;&nbsp; );</font></p>
</font><font FACE="Arial Narrow">
<p>Parameters</font></b><font FACE="Arial" SIZE="2"><i></p>
<p>lFlags<br>
</i>Specifies the qualifiers to include in the enumeration. It must be one of the
following constants:<i></p>
</i></font>
<table CELLSPACING="0" BORDER="0" WIDTH="584">
<tr>
<td WIDTH="224" VALIGN="TOP"><font FACE="Arial" SIZE="2">0 (Zero)</font></td>
<td WIDTH="356" VALIGN="TOP"><font FACE="Arial" SIZE="2">Return the names of all
qualifiers.</font></td>
</tr>
<tr>
<td WIDTH="224" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_FLAG_LOCAL_ONLY</font></td>
<td WIDTH="356" VALIGN="TOP"><font FACE="Arial" SIZE="2">Return only the names of
qualifiers specific to the current property or object. If the current qualifiers set
refers to a property, return only the qualifiers specific to the property (including
overrides), and not those qualifiers propagated from the class definition. If the current
qualifiers set refers to an instance, return only instance-specific qualifier names. If
the current qualifiers set refers to a class, return only qualifiers specific to the
derived-most class.</font></td>
</tr>
<tr>
<td WIDTH="224" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_FLAG_PROPAGATED_ONLY</font></td>
<td WIDTH="356" VALIGN="TOP"><font FACE="Arial" SIZE="2">Return only the names of
qualifiers propagated from another object. For example, if the current qualifier set
refers to a property, return only the qualifiers propagated to this property from the
class definition, and not those from the property itself. If the current qualifier set
refers to an instance, only return those qualifiers propagated from the class definition.
If the current qualifier set refers to a class, only return those qualifier names
inherited from the superclasses.</font></td>
</tr>
</table>
<font FACE="Arial" SIZE="1">
<p></font><font FACE="Arial Narrow"><b>&nbsp;</p>
<p>Return Values</b></font></p>
<table CELLSPACING="0" BORDER="0" WIDTH="463">
<tr>
<td WIDTH="52%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_PARAMETER</font></td>
<td WIDTH="48%" VALIGN="TOP"><font FACE="Arial" SIZE="2">The <i>lFlags</i> parameter was
not valid.</font></td>
</tr>
<tr>
<td WIDTH="52%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_OUT_OF_MEMORY</font></td>
<td WIDTH="48%" VALIGN="TOP"><font FACE="Arial" SIZE="2">There was not enough memory to
complete the operation.</font></td>
</tr>
<tr>
<td WIDTH="52%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_ERROR</font></td>
<td WIDTH="48%" VALIGN="TOP"><font FACE="Arial" SIZE="2">The call succeeded.</font></td>
</tr>
</table>
<font FACE="Arial" SIZE="1">
<p></font><b><font FACE="Arial Narrow">&nbsp;</p>
<p>See Also</font><font FACE="Arial" SIZE="2"></p>
</font></b><font FACE="Arial Narrow" SIZE="5" COLOR="#800000">
<hr>
<p></font><a name="Next"></a><font FACE="Arial Narrow" SIZE="5"><b>IWbemQualifierSet::Next</b></font><font
SIZE="2" COLOR="#ff00ff"></p>
</font><font FACE="Arial" SIZE="2">
<p>The <b>IWbemQualifierSet::Next</b> method retrieves the next qualifier in an
enumeration that started with <b>IWbemQualifierSet::BeginEnumeration</b>. This method is
called repeatedly to enumerate all the qualifiers until WBEM_S_NO_MORE_DATA returns. To
terminate the enumeration early, call <b>IWbemQualifierSet::EndEnumeration</b>.</p>
<p>The order of the qualifiers returned during the enumeration is not defined and may vary
if the qualifier set is altered. </font><b><font FACE="Lucida Sans Typewriter" SIZE="2"></p>
<p><font color="#008000">HRESULT IWbemQualifierSet::Next(<br>
&nbsp;&nbsp;&nbsp; [in] LONG<i> lFlags</i>,<br>
&nbsp;&nbsp;&nbsp; [out, OPTIONAL] BSTR<i> *pstrName</i>,<br>
&nbsp;&nbsp;&nbsp; [out, OPTIONAL] VARIANT<i> *pVal</i>,<br>
&nbsp;&nbsp;&nbsp; [out, OPTIONAL] LONG<i> *plFlavor</i><br>
&nbsp;&nbsp;&nbsp; );</font></p>
</font><font FACE="Arial Narrow">
<p>Parameters</font></b><font FACE="Arial" SIZE="2"><i></p>
<p>lFlags<br>
</i>Reserved. Must be zero.<i></p>
<p>pstrName<br>
</i>This parameter receives the name of the qualifer. A new BSTR is always allocated
whenever WBEM_S_NO_ERROR is returned.<i></p>
<p></i>The caller must ensure that this parameter does not point to a valid BSTR on entry
(NULL is recommended). Also, the caller must remember to call <b>SysFreeString</b> on the
returned string when it is no longer required. Callers may pass NULL, in which case this
parameter will be ignored.</p>
<p>If upon entry <em>pstrName</em> points to a valid BSTR, this BSTR is not freed, and
there will be a memory leak.</p>
<i>
<p>pVal<br>
</i>This parameter receives the value for the qualifier. <b>VariantInit</b> is called on
the <b>VARIANT</b> by this method. The caller must call <b>VariantClear</b> on this
pointer when the value is no longer required. If an error code is returned, the <b>VARIANT</b>
pointed to by pVal is left unmodified. This parameter will be ignored if set to NULL.</p>
<i>
<p>plFlavor<br>
</i>If not NULL, the value pointed to is set to the qualifier flavor.<i></p>
</i></font>
<p><font FACE="Arial Narrow"><b>&nbsp;</p>
<p>Return Values</b></font></p>
<table CELLSPACING="0" BORDER="0" WIDTH="591">
<tr>
<td WIDTH="207" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_INVALID_PARAMETER</font></td>
<td WIDTH="380" VALIGN="TOP"><font FACE="Arial" SIZE="2">An invalid parameter was
specified.</font></td>
</tr>
<tr>
<td WIDTH="207" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_OUT_OF_MEMORY</font></td>
<td WIDTH="380" VALIGN="TOP"><font FACE="Arial" SIZE="2">There was not enough memory to
complete the operation.</font></td>
</tr>
<tr>
<td WIDTH="207" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_E_UNEXPECTED</font></td>
<td WIDTH="380" VALIGN="TOP"><font FACE="Arial" SIZE="2">Caller did not call <b>IWbemQualifierSet::BeginEnumeration</b>.</font></td>
</tr>
<tr>
<td WIDTH="207" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_ERROR</font></td>
<td WIDTH="380" VALIGN="TOP"><font FACE="Arial" SIZE="2">The call succeeded.</font></td>
</tr>
<tr>
<td WIDTH="207" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_MORE_DATA</font></td>
<td WIDTH="380" VALIGN="TOP"><font FACE="Arial" SIZE="2">No more qualifiers are left in
the enumeration.</font></td>
</tr>
</table>
<b><font FACE="Arial Narrow">
<p>See Also</font><font FACE="Arial" SIZE="2"></p>
<p></font><font color="#000000" FACE="Arial" SIZE="2">IWbemQualifierSet::BeginEnumeration</font></b><font
color="#000000"><br>
<font FACE="Arial" SIZE="2"><b>IWbemQualifierSet::EndEnumeration</b></font></font><font
FACE="Arial Narrow" SIZE="5"></p>
<hr>
<p></font><font FACE="Arial Narrow" SIZE="5" color="#000000"><a name="EndEnumeration"></a><b>IWbemQualifierSet::EndEnumeration</b></font><font
FACE="Arial Narrow" SIZE="5" COLOR="#800000"></p>
</font><font face="Arial" size="2">
<p>Call the <b>IWbemQualifierSet::EndEnumeration</b> method to terminate enumerations
which were initiated with <b>IWbemQualifierSet::BeginEnumeration</b> and <b>IWbemQualifierSet::Next</b>.
We recommend this call, but it is not required. It immediately releases resources
associated with the enumeration. Failing to make the call may result in useless memory
consumption until the interface pointer is released.</font><b><font
FACE="Lucida Sans Typewriter" SIZE="2"></p>
<p><font color="#008000">HRESULT IWbemQualifierSet::EndEnumeration( );</font></p>
</font><font FACE="Arial Narrow">
<p>Parameters</font></b><font FACE="Arial" SIZE="2"></p>
<p>None.</font><font FACE="Arial Narrow"><b></p>
<p>Return Values</b></font></p>
<table CELLSPACING="0" BORDER="0" WIDTH="463">
<tr>
<td WIDTH="39%" VALIGN="TOP"><font FACE="Arial" SIZE="2">WBEM_S_NO_ERROR</font></td>
<td WIDTH="61%" VALIGN="TOP"><font FACE="Arial" SIZE="2">The call succeeded.</font></td>
</tr>
</table>
<font FACE="Arial" SIZE="1">
<p></font><b><font FACE="Arial Narrow">&nbsp;</p>
<p>See Also</font><font FACE="Arial" SIZE="2"></p>
<p>IWbemQualifierSet::BeginEnumeration</b> <br>
<b>IWbemQualifierSet::Next</b></font></p>
</body>
</html>