Share via


IWbemHiPerfProvider::GetObjects 方法 (wbemprov.h)

IWbemHiPerfProvider::GetObjects方法會在提供的陣列中插入物件的非索引鍵屬性。 WMI 會呼叫 GetObjects 以回應 IWbemServices::GetObject 呼叫。 如果提供者未實作GetObjects,WMI 會嘗試以呼叫IWbemHiPerfProvider::CreateRefreshableObject方法來服務GetObject要求。

注意 如果提供者未實作此方法,則必須傳回 WBEM_E_PROVIDER_NOT_CAPABLE
 

語法

HRESULT GetObjects(
  [in]      IWbemServices     *pNamespace,
  [in]      long              lNumObjects,
  [in, out] IWbemObjectAccess **apObj,
            long              lFlags,
            IWbemContext      *pContext
);

參數

[in] pNamespace

IWbemServices指標回到 Windows 管理,可服務提供者提出的任何要求。 如果提供者在執行期間要回呼 Windows Management,提供者應該在此指標上呼叫 AddRef

[in] lNumObjects

整數,其中包含您要擷取的物件數目。

[in, out] apObj

IWbemObjectAccess物件的陣列指標。 GetObjects方法會將每個物件的索引鍵屬性插入這個陣列中。

lFlags

保留的。 此參數必須是 0。

pContext

通常 為 Null;否則,一或多個動態類別提供者所需的 IWbemCoNtext 物件的指標。 內容物件中的值必須在特定提供者檔中指定。 如需此參數的詳細資訊,請參閱 呼叫 WMI。

傳回值

這個方法會傳回 HRESULT ,指出方法呼叫的狀態。 下列清單列出 HRESULT中包含的值。

備註

要求的物件會填入其索引鍵屬性。

範例

下列程式碼範例說明如何實作 GetObjects

HRESULT CMyHiPerfProvider::GetObjects(
  /* [in] */IWbemServices *pNamespace,
  /* [in] */  long lNumObjects,
  /* [in,out] */IWbemObjectAccess **apObj,
  /* [in] */long lFlags,
  /* [in] */IWbemContext *pCtx
)
{

  for ( long i = 0; i < lNumObjects; i++ )
  {
      // Validate the instance (that is, ensure
      // the path is good); if it fails, return
      // the error.

      // For example, create a method that validates
      // the IWbemObjectAccess instance and returns
      // false if validation failed.
      /*if ( !ValidateInstance( apObj[i] ) )
          return WBEM_E_NOT_FOUND;*/

      // Fill out the instance.
      // For example, create a method that assigns
      // a value to the IWbemObjectAccess instance.
      /*FillInstance( apObj[i] );*/
  }

  return WBEM_S_NO_ERROR;
}

規格需求

   
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wbemprov.h (包含 Wbemidl.h)
程式庫 Wbemuuid.lib
Dll Wmiprvsd.dll

另請參閱

開發 WMI 提供者

IWbemHiPerfProvider

將執行個體提供者變成 High-Performance 提供者

效能計數器提供者

撰寫執行個體提供者