IEnumWbemClassObject::Next メソッド (wbemcli.h)
列挙体の現在位置から 1 つ以上のオブジェクトを取得するには、 IEnumWbemClassObject::Next メソッドを使用します。 このメソッドは、後続の呼び出しが後続のオブジェクトを返すように、 uCount オブジェクトによって列挙体内の現在位置を進めます。
構文
HRESULT Next(
[in] long lTimeout,
[in] ULONG uCount,
[out] IWbemClassObject **apObjects,
[out] ULONG *puReturned
);
パラメーター
[in] lTimeout
呼び出しが戻るまでにブロックする最大時間をミリ秒単位で指定します。 定数 WBEM_INFINITE (0xFFFFFFFF) を使用すると、オブジェクトが使用可能になるまで呼び出しがブロックされます。 値 0 (WBEM_NO_WAIT) を使用すると、オブジェクトが使用可能かどうかに関係なく、呼び出しはすぐに返されます。
[in] uCount
要求されたオブジェクトの数。
[out] apObjects
uCount で指定された IWbemClassObject インターフェイス ポインターの数を保持するのに十分なストレージへのポインター。 このストレージは、呼び出し元によって提供される必要があります。 このパラメーターを NULL にすることはできません。 呼び出し元は、受信した各インターフェイス ポインターが不要になったときに Release を呼び出す必要があります。
[out] puReturned
返されたオブジェクトの数を受け取る ULONG へのポインター。 この数値は、 uCount で要求された数より小さくすることができます。 このポインターを NULL にすることはできません。
戻り値
Next メソッドは、メソッド呼び出しの状態を示す HRESULT を返します。 次の一覧は、 HRESULT に含まれる値の一覧です。
注釈
ネットワークの問題によって Windows Management へのリモート接続が失われると、COM 固有のエラー コードが返される場合があります。 エラーが発生した場合は、COM 関数 GetErrorInfo を呼び出して、より多くのエラー情報を取得できます。
複数のオブジェクトが要求され、要求されたオブジェクトの数が返された場合、関数は WBEM_S_NO_ERRORを返します。 要求された数未満のオブジェクトが使用可能であり、列挙が完了した場合は、それらのオブジェクトが返され、関数は WBEM_S_FALSEを返します。
列挙が完了していない場合、呼び出しは、指定されたタイムアウトまでオブジェクトが使用可能になるまで待機します。オブジェクトを使用できるようになる前に列挙がタイムアウトした場合、関数は WBEM_S_TIMEDOUTを返します。
例
C++ と WMI でクエリを作成する方法の詳細な説明と例については、「CodeProject での C++ での WMI クエリの 作成」を参照してください。
次のコードでは、複数の オブジェクトが要求されています。HRESULT ProcessEnum( IEnumWbemClassObject* pEnum )
{
HRESULT hRes = WBEM_S_NO_ERROR;
// Final Next will return WBEM_S_FALSE
while ( WBEM_S_NO_ERROR == hRes )
{
ULONG uReturned;
IWbemClassObject* apObj[10];
hRes = pEnum->Next( WBEM_INFINITE, 10, apObj, &uReturned );
if ( SUCCEEDED( hRes ) )
{
// Do something with the objects.
//ProcessObjects( uReturned, apObj );
for ( ULONG n = 0; n < uReturned; n++ )
{
apObj[n]->Release();
}
} // If Enum succeeded...
} // While Enum is returning objects...
return hRes;
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | wbemcli.h (Wbemidl.h を含む) |
Library | Wbemuuid.lib |
[DLL] | Fastprox.dll |