Creating a Public Store
Creating a Public Store
This content is no longer actively maintained. It is provided as is, for anyone who may still be using these technologies, with no warranties or claims of accuracy with regard to the most recent product version or service release.
The code in the following example creates a public store in a storage group. Note that when you are creating a public store, you must specify a folder tree. The folder tree specifies where the data in the store is to appear in the Exchange store. For more information, see Managing Exchange Server.
Visual Basic
'////////////////////////////////////////////////////////////////////////////////// '// Name: CreateNewPublicStore '// Purpose: To create a new PublicStoreDB with a given name '// Input: strPSName = contains the name of the new PublicStoreDB to be created '// strFolderName = contains the name of the related Public Folder '// strComputerName = contains the name of the Exchange 2000 server '// blnMount (Optional) = True if the new PublicStoreDB will be mounted after creation '// = False if the new PublicStoreDB will not be mounted '// strSGName (Optional) = contains the name of the storage group to create the New PublicStoreDB in; '// if it's empty then the new PublicStoreDB will be created in the default Storage Group '// strMDBUrl (Optional ByRef) = contains the URL to the new PublicStoreDB created; '// '////////////////////////////////////////////////////////////////////////////////// Sub CreateNewPublicStore(ByVal strPSName As String, _ ByVal strFolderName As String, _ ByVal strComputerName As String, _ Optional ByVal blnMount As Boolean, _ Optional ByVal strSGName As String, _ Optional ByRef strPSUrl As String) Dim iServer As New CDOEXM.ExchangeServer Dim iPbStoreDB As New CDOEXM.PublicStoreDB Dim arrStGroup() As Variant Dim i As Integer Dim strTemp As String Dim strFolderURL As String Dim strFHName As String ' Bind to the Exchange Server iServer.DataSource.Open strComputerName ' Get the FolderTreeHierarcy to build the URL to the Public Folder GetFolderTreeURL strComputerName, strFHName ' Build the URL to the PublicFolderTree strFolderURL = "LDAP://" & iServer.DirectoryServer & "/CN=" & strFolderName & "," & strFHName ' Set the variant array to the array of StorageGroups from Server object arrStGroup = iServer.StorageGroups ' Start to build the URL to the PublicStore - first part strTemp = "LDAP://" & iServer.DirectoryServer & "/CN=" & strPSName & "," ' Set the name of the PublicStoreDB iPbStoreDB.Name = strPSName ' Set the name of the PublicFolderTree iPbStoreDB.FolderTree = strFolderURL ' Verify if the StorageGroup strSGName exist in the StorageGroups array If strSGName = "" Then ' Finish to build the URL to the PublicStoreDB - add last part strPSUrl = strTemp & iServer.StorageGroups(0) Else For i = 0 To UBound(arrStGroup) If InStr(1, arrStGroup(i), strSGName) <> 0 Then ' Finish to build the URL to the PublicStoreDB - add last part strPSUrl = strTemp & arrStGroup(i) End If Next End If ' Save the PublicStoreDB iPbStoreDB.DataSource.SaveTo strPSUrl ' Mount the PublicStoreDB if the blnMount is True If blnMount = True Then iPbStoreDB.Mount End If ' Cleanup Set iServer = Nothing Set iPbStoreDB = Nothing End Sub
The preceding sample calls GetFolderTreeURL(). This retrieves the folder tree full URL that is used to specify the location of the store data in the Exchange store. See Retrieving Folder Tree URLs for an explanation of GetFolderTreeURL.
Send us your feedback about the Microsoft Exchange Server 2003 SDK.
Build: June 2007 (2007.618.1)
© 2003-2006 Microsoft Corporation. All rights reserved. Terms of use.