C++ WMI レコード件数取得方法
お世話になっております。
C++でWMIを使用して、別PCのディスク容量を取得しようと思っています。
SQLの検索結果の「レコード件数」を取得する方法はありますでしょうか?
(レコード件数で配列サイズを決めようとしています)
ADOとかだとRecordCountとかで取得出来るのですが・・・。
COMオブジェクトで、IUnknownインターフェイスを使っているらしいので、
それの参照カウントって物の件数を調べられたら可能かとも考えましたが、
わかりませんでした・・・。
すみませんがご教授ください><
以下が記述途中のソース抜粋です。
=====
HRESULT hres;
ULONG uReturn = 0;
IWbemServices *wbem_services = NULL;
IEnumWbemClassObject *wbem_enumerator = NULL;
IWbemClassObject *pclsObj = NULL;
unsigned long *DiskSize; //本当はクラス使用です。
hres = wbem_services->ExecQuery(L"WQL",
L"SELECT * FROM Win32_LogicalDisk WHERE DriveType=3",
WBEM_FLAG_FORWARD_ONLY | WBEM_FLAG_RETURN_IMMEDIATELY,
NULL, &wbem_enumerator);
↓↓↓↓↓
//ここで、RecordCountのように件数を取得がしたい。
DiskSize = new int[wbem_enumerator->RecordCount];
↑↑↑↑↑
while (hres == S_OK)
{
hres = wbem_enumerator->Next(WBEM_INFINITE, 1,
&pclsObj, &uReturn);
}
delete [] DiskSize;
お礼
ありがとうございます。 おっしゃる通りです。 色々試して、 Dim SQLcmd As OleDb.OleDbCommand SQLcmd.CommandText = "select count(*) from *****" MsgBox(SQLcmd.ExecuteScalar()) で、件数はとりあえず取得できるみたいです。 すいません、自己レスになってしまいました。