次の方法で共有


IADsExtension::P rivateGetIDsOfNames メソッド (iads.h)

IADsExtension::P rivateGetIDsOfNames メソッドは、ADSI が拡張を使用してデュアル インターフェイスまたはディスパッチ インターフェイスをサポートしていると判断した後、アグリゲーター ADSI によって呼び出されます。 メソッドは、型データを使用して 、IDispatch::GetIDsOfNames を使用して DISPID を取得できます。

構文

HRESULT PrivateGetIDsOfNames(
  REFIID       riid,
  OLECHAR      **rgszNames,
  unsigned int cNames,
  LCID         lcid,
  DISPID       *rgDispid
);

パラメーター

riid

将来利用するために予約されています。 IID_NULLする必要があります。

rgszNames

マッピング対象として渡される名前の配列。

cNames

マッピングされる名前のカウント。

lcid

名前を解釈するロケール コンテキスト。

rgDispid

呼び出し元によって割り当てられた配列。その各要素には 、rgszNames 配列で渡された名前のいずれかに対応する識別子が含まれています。 最初の要素はメンバー名を表します。 後続の要素は、メンバーの各パラメーターを表します。

戻り値

戻り値は、標準の IDispatch::GetIDsOfNames メソッドと同じです。 その他の戻り値の詳細については、「 ADSI エラー コード」を参照してください。

解説

すべてのパラメーターは、標準 IDispatch::GetIDsOfNames() の対応するパラメーターと同じ意味を持ちます。 拡張コンポーネントは、サポートされているデュアル インターフェイスで定義されている各メソッドまたはプロパティの一意識別子 (rgDispID) を返します。 一意性は拡張コンポーネント内で適用されます。 ADSI プロバイダーは、すべての拡張オブジェクトとアグリゲーター (ADSI) 自体の DISPID の一意性を確保する必要があります。 rgDispID パラメーターは、1 ~ 16777215 (2^24-1)、または -1 (DISPID_UNKNOWN) である必要があります。

次の C/C++ コード例は、このメソッドの一般的な実装を示しています。

STDMETHOD(PrivateGetIDsOfNames)(REFIID riid, OLECHAR ** rgszNames, unsigned int cNames, LCID lcid, DISPID  * rgdispid)
{
  if (rgdispid == NULL)
  {
     return E_POINTER;
  }
  return  DispGetIDsOfNames(m_pTypeInfo, rgszNames, cNames, rgdispid);
}

要件

   
サポートされている最小のクライアント Windows Vista
サポートされている最小のサーバー Windows Server 2008
対象プラットフォーム Windows
ヘッダー iads.h
[DLL] Activeds.dll

関連項目

ADSI エラー コード

IADsExtension

IADsExtension::P rivateInvoke

IDispatch::GetIDsOfNames