IDsBrowseDomainTree
COM公式ドキュメント
IDsBrowseDomainTree インターフェイスは、アプリケーションがドメインブラウザーダイアログボックスを表示したり、特定のコンピューターに関連する信頼ドメインの一覧を取得したりするために使用します。
解説(Remarks)
このインターフェイスのインスタンスは、以下に示すように CLSID_DsDomainTreeBrowser クラス識別子を指定して CoCreateInstance を呼び出すことで作成します。
HRESULT hr = S_OK;
IDsBrowseDomainTree *pDSB = NULL;
hr = CoCreateInstance( CLSID_DsDomainTreeBrowser,
NULL,
CLSCTX_INPROC_SERVER,
IID_IDsBrowseDomainTree,
(void**)&pDSB);
if(SUCCEEDED(hr))
{
//use the IDsBrowseDomainTree object
//release the IDsBrowseDomainTree object
pDSB->Release();
}
メソッド 5
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
IDsBrowseDomainTree::BrowseTo メソッドは、ドメインを参照するためのダイアログボックスを表示します。
| hwndParent | HWND | in | ドメインブラウザーダイアログボックスの所有者となるウィンドウのハンドルです。 |
| ppszTargetPath | LPWSTR* | out | ドメインブラウザーで選択されたドメインのパス文字列を受け取る Unicode 文字列ポインターへのポインターです。このメモリは不要になったら CoTaskMemFree を呼び出して解放する必要があります。既定では、このパスは "myDom.Fabrikam.com" の形式になります。dwFlags に DBDTF_RETURNFQDN フラグが含まれている場合、パスは "DC=myDom, DC=Fabrikam, DC=com" の形式になります。 |
| dwFlags | DWORD | in | ドメインブラウザーダイアログボックスの動作を変更するフラグのセットが含まれます。これはゼロ、または以下の値の 1 つ以上を組み合わせて指定できます。 DBDTF_RETURNFQDNドメインブラウザーは完全修飾ドメイン名を ppszTargetPath に格納します。完全修飾ドメイン名は "myDom.Fabrikam.com" ではなく "DC=myDom, DC=Fabrikam, DC=com" の形式になります。 DBDTF_RETURNMIXEDDOMAINSドメインブラウザーはダウンレベルの信頼ドメインを表示します。 DBDTF_RETURNEXTERNALドメインブラウザーは外部の信頼ドメインを表示します。 DBDTF_RETURNINBOUNDこのフラグが設定されている場合、ドメインブラウザーは信頼するドメインを表示します。そうでない場合、ドメインブラウザーは信頼されるドメインを表示します。 DBDTF_RETURNINOUTBOUNDドメインブラウザーは信頼されるドメインと信頼するドメインの両方を表示します。 |
戻り値
以下を含む標準的な HRESULT 値を返します。
IDsBrowseDomainTree::GetDomains メソッドは、現在のコンピューターの信頼ドメインを取得します。現在のコンピューターは IDsBrowseDomainTree::SetComputer メソッドを使用して設定します。
| ppDomainTree | DOMAIN_TREE** | inout | 信頼ドメインのデータを受け取る DOMAINTREE 構造体ポインターへのポインターです。呼び出し元は、不要になったら IDsBrowseDomainTree::FreeDomains を呼び出してこのメモリを解放する必要があります。 |
| dwFlags | DWORD | in | ドメインの内容を変更するフラグのセットが含まれます。これはゼロ、または以下の値の 1 つ以上を組み合わせて指定できます。 DBDTF_RETURNFQDNDOMAINDESC 構造体の pszNCName メンバーは完全修飾ドメイン名を受け取ります。完全修飾ドメイン名は "myDom.Fabrikam.com" ではなく "DC=myDom, DC=Fabrikam, DC=com" の形式になります。 DBDTF_RETURNMIXEDDOMAINSこのメソッドはダウンレベルの信頼ドメインを返します。 DBDTF_RETURNEXTERNALこのメソッドは外部の信頼ドメインを返します。 DBDTF_RETURNINBOUNDこのフラグが設定されている場合、このメソッドは信頼するドメインを返します。このフラグが設定されていない場合、このメソッドは信頼されるドメインを返します。 DBDTF_RETURNINOUTBOUNDこのメソッドは信頼されるドメインと信頼するドメインの両方を返します。 |
戻り値
以下を含む標準的な HRESULT 値を返します。
解説(Remarks)
このメソッドが提供するデータへのアクセス方法および使用方法の詳細については、Domain Browser を参照してください。
IDsBrowseDomainTree::FreeDomains メソッドは、IDsBrowseDomainTree::GetDomains メソッドによって割り当てられたメモリを解放します。
| ppDomainTree | DOMAIN_TREE** | inout | DOMAINTREE データ構造体へのポインターです。 |
戻り値
以下を含む標準的な HRESULT 値を返します。
IDsBrowseDomainTree::FlushCachedDomains メソッドは、キャッシュされたドメイン一覧を解放します。
戻り値
以下を含む標準的な HRESULT 値を返します。
解説(Remarks)
このメソッドは、内部にキャッシュされたドメインデータを解放します。別のドメインのコンピューターに対象を切り替えるには、 IDsBrowseDomainTree::SetComputer を呼び出す前にこのメソッドを呼び出す必要があります。
IDsBrowseDomainTree インターフェイスのこのインスタンスが使用するコンピューターと資格情報を指定します。
| pszComputerName | LPWSTR | in | 対象コンピューターの名前を格納する null 終端の Unicode 文字列へのポインターです。 |
| pszUserName | LPWSTR | in | コンピューターへのアクセスに使用するユーザー名を格納する null 終端の Unicode 文字列へのポインターです。 |
| pszPassword | LPWSTR | in | コンピューターへのアクセスに使用するパスワードを格納する null 終端の Unicode 文字列へのポインターです。 |
戻り値
以下を含む標準的な HRESULT 値を返します。
解説(Remarks)
このメソッドが呼び出されない場合、既定のコンピューターとしてローカルホストが想定されます。
特定の IDsBrowseDomainTree インスタンスに対して SetComputer を呼び出した場合、SetComputer を再度呼び出す前に IDsBrowseDomainTree::FlushCachedDomains を呼び出す必要があります。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IDsBrowseDomainTree "{7CABCF1E-78F5-11D2-960C-00C04FA31A86}" #usecom global IDsBrowseDomainTree IID_IDsBrowseDomainTree "{}" #comfunc global IDsBrowseDomainTree_BrowseTo 3 sptr,var,int #comfunc global IDsBrowseDomainTree_GetDomains 4 var,int #comfunc global IDsBrowseDomainTree_FreeDomains 5 var #comfunc global IDsBrowseDomainTree_FlushCachedDomains 6 #comfunc global IDsBrowseDomainTree_SetComputer 7 wstr,wstr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。#define global IID_IDsBrowseDomainTree "{7CABCF1E-78F5-11D2-960C-00C04FA31A86}" #usecom global IDsBrowseDomainTree IID_IDsBrowseDomainTree "{}" #comfunc global IDsBrowseDomainTree_BrowseTo 3 sptr,sptr,int #comfunc global IDsBrowseDomainTree_GetDomains 4 sptr,int #comfunc global IDsBrowseDomainTree_FreeDomains 5 sptr #comfunc global IDsBrowseDomainTree_FlushCachedDomains 6 #comfunc global IDsBrowseDomainTree_SetComputer 7 wstr,wstr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。 ; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。