次の方法で共有


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

こちらもご覧ください

ADSI エラー コード

ADS_ATTR_INFO

IDirectoryObject