IDirectoryObject::CreateDSObject メソッド (iads.h)
IDirectoryObject::CreateDSObject メソッドは、現在のディレクトリ サービス オブジェクトの子を作成します。
構文
HRESULT CreateDSObject(
[in] LPWSTR pszRDNName,
[in] PADS_ATTR_INFO pAttributeEntries,
[in] DWORD dwNumAttributes,
[out] IDispatch **ppObject
);
パラメーター
[in] pszRDNName
作成するオブジェクトの相対識別名 (相対パス) を提供します。
[in] pAttributeEntries
オブジェクトの作成時 に 設定する属性定義を含むADS_ATTR_INFO構造体の配列。
[in] dwNumAttributes
オブジェクトの作成時に設定される属性の数を提供します。
[out] ppObject
作成されたオブジェクトの IDispatch インターフェイスへのポインターを提供します。
戻り値
このメソッドは、正常な操作のS_OKを含む標準の戻り値を返します。 詳細およびその他の戻り値については、「 ADSI エラー コード」を参照してください。
注釈
pAttributeEntries 配列の作成時に初期化するすべての属性を指定します。 省略可能な属性を指定することもできます。 このメソッドを使用してディレクトリ オブジェクトを作成する場合、任意の文字列データ型を持つ属性を空または長さ 0 にすることはできません。
例
次の C/C++ コード例は、 IDirectoryObject::CreateDSObject メソッドを使用してユーザー オブジェクトを作成する方法を示しています。
HRESULT hr;
IDirectoryObject *pDirObject=NULL;
ADSVALUE sAMValue;
ADSVALUE uPNValue;
ADSVALUE classValue;
LPDISPATCH pDisp;
ADS_ATTR_INFO attrInfo[] =
{
{ L"objectClass", ADS_ATTR_UPDATE,
ADSTYPE_CASE_IGNORE_STRING, &classValue, 1 },
{L"sAMAccountName", ADS_ATTR_UPDATE,
ADSTYPE_CASE_IGNORE_STRING, &sAMValue, 1},
{L"userPrincipalName", ADS_ATTR_UPDATE,
ADSTYPE_CASE_IGNORE_STRING, &uPNValue, 1},
};
DWORD dwAttrs = sizeof(attrInfo)/sizeof(ADS_ATTR_INFO);
classValue.dwType = ADSTYPE_CASE_IGNORE_STRING;
classValue.CaseIgnoreString = L"user";
sAMValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
sAMValue.CaseIgnoreString = L"jeffsmith";
uPNValue.dwType=ADSTYPE_CASE_IGNORE_STRING;
uPNValue.CaseIgnoreString = L"jeffsmith@Fabrikam.com";
hr = ADsGetObject(L"LDAP://OU=Sales,DC=Fabrikam,DC=com",
IID_IDirectoryObject, (void**) &pDirObject );
if ( SUCCEEDED(hr) )
{
hr = pDirObject->CreateDSObject( L"CN=Jeff Smith", attrInfo,
dwAttrs, &pDisp );
if ( SUCCEEDED(hr) )
{
// Use the DS object.
pDisp->Release();
}
pDirObject->Release();
}
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista |
サポートされている最小のサーバー | Windows Server 2008 |
対象プラットフォーム | Windows |
ヘッダー | iads.h |
[DLL] | Activeds.dll |