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

IDsAdminNewObj

COM
IIDf2573587-e6fc-11d2-82af-00c04f68928b継承元IUnknown自前メソッド開始 vtbl3

公式ドキュメント

IDsAdminNewObj インターフェイスは、プライマリまたはセカンダリのオブジェクト作成ウィザード拡張機能が、ページ数のデータを取得し、ウィザードのコマンド ボタンを制御するために使用します。

メソッド 2

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

vtbl 3 HRESULT SetButtons(DWORD nCurrIndex, BOOL bValid)

IDsAdminNewObj::SetButtons メソッドは、ウィザードの特定のページに対して "次へ" コマンド ボタンを有効または無効にします。

nCurrIndexDWORDin"次へ" ボタンを有効または無効にする対象のウィザード ページの、0 から始まるインデックスを指定します。このインデックスは、メソッドを呼び出すウィザード拡張機能のページ数を基準とした相対値です。
bValidBOOLin"次へ" コマンド ボタンを有効にするか無効にするかを指定します。この値が 0 の場合、"次へ" コマンド ボタンは無効になります。この値が 0 以外の場合、"次へ" コマンド ボタンは有効になります。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

次の値のいずれかを返します。

解説(Remarks)

ページが最初に表示されるときの "次へ" コマンド ボタンの状態については、何も想定すべきではありません。オブジェクト作成拡張機能は、ページが最初に表示されるときと、ページ内のデータが変更されるときに、"次へ" コマンド ボタンの状態を設定する必要があります。ページ内のデータが必須でない場合は、ページが最初に表示されるときに "次へ" ボタンを有効にし、拡張機能によって状態を変更すべきではありません。

関数を呼び出す拡張機能が単一ページのプライマリ拡張機能であり、セカンダリ拡張機能が読み込まれていない場合、たとえばウィザードが単一ページのときは、コマンド ボタンは "戻る"、"次へ"、"キャンセル" ではなく、"OK" と "キャンセル" になります。この場合、この関数を呼び出すと "OK" ボタンが有効または無効になります。

vtbl 4 HRESULT GetPageCounts(INT* pnTotal, INT* pnStartIndex)

IDsAdminNewObj::GetPageCounts メソッドは、ウィザード内の総ページ数と、拡張機能の最初のページのインデックスを取得します。

pnTotalINT*inoutウィザードに含まれる総ページ数を受け取る LONG 値へのポインターです。
pnStartIndexINT*inout拡張機能の最初のページの、0 から始まるインデックスを受け取る LONG 値へのポインターです。

戻り値

このメソッドは、これらの値のいずれかを返すことができます。

次の値のいずれかを返します。

解説(Remarks)

この関数は、 IDsAdminNewObjExt::AddPages を使用して追加されたページ数に基づいて結果を返します。Win32 API によるページ操作でページ数が変化した場合、返される値は正確でない可能性があります。このメソッドが IDsAdminNewObjExt::SetObject メソッドに応じて呼び出される場合、返されるページ数は正確である可能性が高くなります。

出典・ライセンス: 上記「公式ドキュメント」の内容は 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_IDsAdminNewObj "{F2573587-E6FC-11D2-82AF-00C04F68928B}"
#usecom global IDsAdminNewObj IID_IDsAdminNewObj "{}"
#comfunc global IDsAdminNewObj_SetButtons     3 int,int
#comfunc global IDsAdminNewObj_GetPageCounts  4 var,var
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。