Win32 API 日本語リファレンス
ホームNetworking.ActiveDirectory › IDsAdminCreateObj

IDsAdminCreateObj

COM
IID53554a38-f902-11d2-82b9-00c04f68928b継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

アプリケーションまたはコンポーネントが、指定したオブジェクトクラスの作成ウィザードをプログラムから起動するために使用します。

メソッド 2

vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。

vtbl 3 HRESULT Initialize(IADsContainer* pADsContainerObj, IADs* pADsCopySource, LPWSTR lpszClassName)

IDsAdminCreateObj::Initialize メソッドは、オブジェクトが作成されるコンテナー、作成するオブジェクトのクラス、および必要に応じてコピー元となるソースオブジェクトに関するデータを使用して、IDsAdminCreateObj オブジェクトを初期化します。

pADsContainerObjIADsContainer*inオブジェクトが作成されるコンテナーを表す IADsContainer インターフェイスへのポインター。このパラメーターを NULL にすることはできません。
pADsCopySourceIADs*inコピー元となるオブジェクトの IADs インターフェイスへのポインター。新しいオブジェクトを別のオブジェクトからコピーしない場合、このパラメーターは NULL になります。コピー操作は user オブジェクトに対してのみサポートされます。
lpszClassNameLPWSTRin作成するオブジェクトクラスの LDAP 名を格納する WCHAR 文字列へのポインター。このパラメーターを NULL にすることはできません。サポートされる値は次のとおりです: "user"、"computer"、"printQueue"、"group"、"contact"。

戻り値

メソッドが成功した場合、 S_OK が返されます。メソッドが失敗した場合、OLE 定義のエラーコードが返されます。

解説(Remarks)

IDsAdminCreateObj::CreateModal を呼び出す前に、IDsAdminCreateObj::Initialize メソッドを呼び出す必要があります。

vtbl 4 HRESULT CreateModal(HWND hwndParent, IADs** ppADsObj)

IDsAdminCreateObj::CreateModal メソッドは、オブジェクト作成ウィザードを表示し、新しく作成されたオブジェクトを返します。IDsAdminCreateObj::CreateModal を呼び出す前に、IDsAdminCreateObj::Initialize メソッドを呼び出す必要があります。

hwndParentHWNDinウィザードのオーナーのウィンドウハンドルを格納します。この値を NULL にすることはできません。親ウィンドウが利用できない場合は、GetDesktopWindow 関数の結果を使用してください。
ppADsObjIADs**out新しく作成されたオブジェクトを受け取る IADs インターフェイスポインターへのポインター。オブジェクト作成ウィザードが失敗またはキャンセルされた場合、このパラメーターは NULL を受け取ります。呼び出し側は、このインターフェイスが不要になったら解放する必要があります。このオブジェクトが不要な場合、このパラメーターは NULL でもかまいません。

戻り値

このメソッドは、次のいずれかの値を返すことがあります。

OLE 定義のエラーコード、または次のいずれかの値を返します。

解説(Remarks)

ユーザーがオブジェクト作成ウィザードをキャンセルした場合、このメソッドは S_FALSE を返します。ppADsObjNULL でない場合、ppADsObjNULL 値を受け取ります。このため、ppADsObj が有効かどうかを判断するために SUCCEEDED マクロを使用することは避けるべきです。インターフェイスポインターを使用する前に、必ず ppADsObj の内容が NULL でない値であることをテストしてください。

出典・ライセンス: 上記「公式ドキュメント」の内容は Microsoft の Win32 API ドキュメント(MicrosoftDocs/sdk-api)を日本語に翻訳・改変したものです。© Microsoft Corporation. CC BY 4.0 で提供。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)

HSP用 COM定義

#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"

#define global IID_IDsAdminCreateObj "{53554A38-F902-11D2-82B9-00C04F68928B}"
#usecom global IDsAdminCreateObj IID_IDsAdminCreateObj "{E301A009-F901-11D2-82B9-00C04F68928B}"
#comfunc global IDsAdminCreateObj_Initialize   3 sptr,sptr,wstr
#comfunc global IDsAdminCreateObj_CreateModal  4 sptr,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※#usecom 末尾は CoCreateInstance 用のクラスID(コクラスCLSID, SDKから自動取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。