Le Café Central de
Deva             


                    ... Deva blogs!!



  • Le Café Central de DeVa

    Creating Outlook Calendar Folder using WebDAV & C#.Net

    • 1 Comments

    Code snippet to create Outlook Calendar Folder using WebDAV & C#.Net

    // TODO: Replace with the URL of an object on Exchange Server
            string sUri = "http://ExchServer/Exchange/Administrator/Inbox/NewApptFolder";
     
            System.Uri myUri = new System.Uri(sUri);
            HttpWebRequest HttpWRequest = (HttpWebRequest)WebRequest.Create(myUri);

            string sQuery;
            sQuery = "<?xml version='1.0'?>" +
              "<a:propertyupdate xmlns:a='DAV:' " +
              "xmlns:ex='http://schemas.microsoft.com/exchange/'>" +
              "<a:set><a:prop>" +
              "<ex:outlookfolderclass>IPF.Appointment</ex:outlookfolderclass>" +
              "</a:prop></a:set>" +
              "</a:propertyupdate>";

            // Set Credentials
            // TODO: Replace with appropriate user credentials

            NetworkCredential myCred = new NetworkCredential(@"DomainName\UserName", "UserPassword");
            CredentialCache myCredentialCache = new CredentialCache();
            myCredentialCache.Add(myUri, "Basic", myCred);
            HttpWRequest.Credentials = myCredentialCache;

            // Set Headers
            HttpWRequest.KeepAlive = false;
            HttpWRequest.Headers.Set("Pragma", "no-cache");
            HttpWRequest.ContentType =  "text/xml";
            HttpWRequest.ContentLength = sQuery.Length;

            //Set the request timeout to 5 minutes
            HttpWRequest.Timeout = 300000;
            // Set the request method
            HttpWRequest.Method = "MKCOL";

            // Store the data in a byte array
            byte[] ByteQuery = System.Text.Encoding.ASCII.GetBytes(sQuery);
            HttpWRequest.ContentLength = ByteQuery.Length;
            Stream QueryStream = HttpWRequest.GetRequestStream();
            // Write the data to be posted to the Request Stream
            QueryStream.Write(ByteQuery,0,ByteQuery.Length);
            QueryStream.Close();

            // Send Request and Get Response
            HttpWebResponse HttpWResponse = (HttpWebResponse)HttpWRequest.GetResponse();

            // Get the Status code
            int iStatCode =  (int)HttpWResponse.StatusCode;
            string sStatus = iStatCode.ToString();
            Console.WriteLine("Status Code: {0}", sStatus);
            // Get the request headers
            string sReqHeaders = HttpWRequest.Headers.ToString();
            Console.WriteLine(sReqHeaders);

            // Read the Response Steam
            Stream strm = HttpWResponse.GetResponseStream();
            StreamReader sr = new StreamReader(strm);
            string sText = sr.ReadToEnd();
            Console.WriteLine("Response: {0}", sText);

            // Close Stream
            strm.Close();

            // Clean Up
            myCred = null;
            myCredentialCache = null;
            HttpWRequest = null;
            HttpWResponse = null;
            QueryStream = null;
            strm = null;
            sr = null;
         

    Note: This code snippet shows how to use WebDAV to create a Microsoft Outlook Calendar folder.

    • It initially sets the method of the HttpWebRequest class to "MKCOL"
    • Then sends the request with the user credentials to the Exchange server.
    • It uses the HttpWebResponse method to receive the response.

    The HttpWebRequest and the HttpWebResponse methods are available in the System.Net namespace

  • Le Café Central de DeVa

    WebDAV Status Codes

    • 0 Comments

    Important WebDAV status codes:

    Please find the important WebDAV Status Codes:

    Status Code Meaning

    201 (Created)

    The collection was created.

    401 (Access Denied)

    Resource requires authorization or authorization was denied.

    403 (Forbidden)

    The server does not allow collections to be created at the specified location, or the parent collection of the specified request URI exists but cannot accept members.

    405 (Method Not Allowed)

    The MKCOL method can only be performed on a deleted or non-existent resource.

    409 (Conflict)

    A resource cannot be created at the destination URI until one or more intermediate collections are created.

    415 (Unsupported Media Type)

    The request type of the body is not supported by the server.

    507 (Insufficient Storage)

    The destination resource does not have sufficient storage space

    Complete list of  WebDAV Status Codes available:

    Please find the list of status codes returned by the Exchange 2000 Server WebDAV protocol service. Along with each status code or group of codes are the names of associated HTTP methods and a description of each status code.

  • Le Café Central de DeVa

    MAPI Architecture

    • 4 Comments

    MAPI Architecture 

    MAPI is a messaging architecture that enables multiple applications to interact with multiple messaging systems seamlessly across a variety of hardware platforms.

    MAPI Objects and General Architecture

    All of the objects defined by MAPI fall into one or more layers in the MAPI architecture.

    • The client interface layer is made up of all the objects that a client application, form viewer, or form server can implement.
    • The service provider interface layer contains the objects that a service provider of any type can implement.
    • This layer includes objects implemented by address book, message store, transport, form library, and messaging hook providers.
    • The layer that represents the MAPI subsystem is positioned between the client and service provider interface layers.
    • The MAPI layer contains all of the objects that MAPI implements for clients or service providers to use 

    The following article shows where each of the MAPI objects fits into the MAPI architecture. The objects are represented with the names of their derived interfaces.

    In general,

    • MAPI is made up of a set of common application programming interfaces and a dynamic-link library (DLL) component.
    • The interfaces are used to create and access diverse messaging applications and messaging systems, offering a uniform environment for development and use and providing true independence for both.  
    • The DLL contains the MAPI subsystem, which manages the interaction between front-end messaging applications and back-end messaging systems and provides a common user interface for frequent tasks.
    • The MAPI subsystem acts as a central clearing house to unify the various messaging systems and shield clients from their differences.

    MAPI Subsystem 

    The MAPI subsystem is made up of the MAPI spooler, a common user interface, and the programming interfaces. The MAPI spooler is a separate process responsible for sending messages to and receiving messages from a messaging system. The common user interface is a set of dialog boxes that gives client applications a consistent look and users a consistent way to work.

    The above article shows how Simple MAPI, CMC, and the CDO Library are layered between MAPI and client applications. Messaging-based clients call directly into MAPI while messaging-aware and messaging-enabled clients call into Simple MAPI, the CDO Library or CMC. Calls to these higher level APIs are forwarded to MAPI.

    MAPI - Programming interfaces 

    MAPI has programming interfaces that are used by the MAPI subsystem, by client application writers, and by service provider writers. The main programming interface is an object-based interface known as the MAPI programming interface. Based on the OLE Component Object Model, the MAPI programming interface is used by the MAPI subsystem and by messaging-based client applications and service providers written in C or C++.

    Client Application Writers 

    Client application writers have a choice of three other interfaces:

      • Simple MAPI
        •  An API function-based client interface for applications written in C, Microsoft Visual C++, or Microsoft Visual Basic.
      • Common Messaging Calls (CMC)
        • An API function-based client interface for applications written in C or C++.
      • CDO Library
        •  An object-based client interface for applications written in C, C++, Visual Basic, or Visual Basic for Applications. 

    Note:

    • Simple MAPI, CMC, and CDO Library client interfaces are primarily for messaging-aware and messaging-enabled client applications.
    • These interfaces are less complex.
    • Applications that require fewer messaging features can use Simple MAPI, CMC, or the CDO Library to implement these features quickly and easily.

    MAPI client application

    • A MAPI client application is any application that uses one of the three MAPI client interfaces (Simple MAPI, CMC, and the CDO Library) or the MAPI programming interface.
    • Client applications implement messaging tasks as either their primary or secondary focus.
    • Messaging client applications, such as applications that send and receive electronic mail, implement messaging as their primary focus while for non-messaging client applications, such as inventory or configuration applications, it is a secondary feature.

    Client application categories 

    Client applications can be organized into one of the following three categories:

    • Messaging-aware applications
    • Messaging-enabled applications
    • Messaging-based work group applications

    i) Messaging-aware applications 

    A messaging-aware application does not require the services of a messaging system, but includes messaging options as an additional feature.

    Example: A word processing application that includes a Send command in its File menu to allow documents to be sent is considered messaging-aware.

    ii) Messaging-enabled applications 

    A messaging-enabled application requires the services of a messaging system and typically runs on a network or an online service.

    Example: A messaging-enabled application is Microsoft Mail.

    iii) Messaging-based work group applications 

    A more advanced client application is the messaging-based work group application. The work group application requires full access to a wide range of messaging system services, including storage, addressing, and transport services. These applications are designed to operate over a network without users having to manage the applications' network interaction.

    Example: Such applications include work flow automation programs and bulletin board services.

  • Le Café Central de DeVa

    EXOLEDB Architecture

    • 1 Comments

    EXOLEDB Overview

    • Exchange Server 2007 provides a new, high-performance OLE DB provider that you can use on the local server to access Exchange store items: the Exchange OLE DB (ExOLEDB) provider.
    • Through the ExOLEDB provider, programmers can access the Exchange store using OLE DB, Microsoft ActiveX Data Objects (ADO), and Collaboration Data Objects (CDO).

    EXOLEDB Architecture

    The above article shows the relationship between ADO, CDO, OLE DB, the ExOLEDB provider, and the Exchange store.

    • ExOLEDB provider is a server-side component, and is therefore used only to access public stores and mailbox stores that reside on the same server.
    • We can access data on the server remotely by wrapping functionality into Component Object Model (COM) components, which can be utilized by ASP and other Web applications.
    • ExOLEDB provider is also ideal for use in COM+ components and Exchange store event and workflow sinks that run on the server.
    • To access remote public stores and mailbox stores, use the WebDAV protocol, MAPI, or CDO 1.2.1.

     

  • Le Café Central de DeVa

    Exchange Web Services Architecture

    • 1 Comments

    Exchange Web Services 

    Exchange Web Services is deployed with the Client Access server role. Microsoft Exchange Server 2007 clients connect to the computer that is running Exchange 2007 that has the Client Access server role installed in an Active Directory directory service site by using an HTTPS connection.

    For more information refer this article

  • Le Café Central de DeVa

    Adding delegates in Exchange Web Services (Exchange Server 2007 SP1)

    • 1 Comments

    Delegates & Exchange Web Services 

    In Microsoft Exchange Server 2007 SP1, you can use Exchange Web Services to add, update, and remove delegates.

    Code sample

    Please find the code example that shows you how to add delegates that can take actions on behalf of a principal. In this code it shows how to add two delegate users to an account.

    static void AddDelegate()
    {
        // Set the version, credentials, and Client Access server on ExchangeServiceBinding.
        ExchangeServiceBinding esb = new ExchangeServiceBinding();
        esb.RequestServerVersionValue = new RequestServerVersion();
        esb.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1;
        esb.Credentials = new NetworkCredential("username", "password", "domain");
        esb.Url = "https://example.com/ews/exchange.asmx";

        // Create the request.
        AddDelegateType request = new AddDelegateType();

        // Identify the principal's mailbox.
        request.Mailbox = new EmailAddressType();
        request.Mailbox.EmailAddress = "user1@example.com";

        // Identify the delegates who are given access to the principal's mailbox.
        request.DelegateUsers = new DelegateUserType[2];
        request.DelegateUsers[0] = new DelegateUserType();
        request.DelegateUsers[0].UserId = new UserIdType();
        request.DelegateUsers[0].UserId.PrimarySmtpAddress = "user2@example.com";
        request.DelegateUsers[1] = new DelegateUserType();
        request.DelegateUsers[1].UserId = new UserIdType();
        request.DelegateUsers[1].UserId.PrimarySmtpAddress = "user3@example.com";
       
        // Specify the permissions that are granted to each delegate.
        request.DelegateUsers[0].DelegatePermissions = new DelegatePermissionsType();
        request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevel = DelegateFolderPermissionLevelType.Reviewer;
        request.DelegateUsers[0].DelegatePermissions.CalendarFolderPermissionLevelSpecified = true;
        request.DelegateUsers[1].DelegatePermissions = new DelegatePermissionsType();
        request.DelegateUsers[1].DelegatePermissions.TasksFolderPermissionLevel = DelegateFolderPermissionLevelType.Author;
        request.DelegateUsers[1].DelegatePermissions.TasksFolderPermissionLevelSpecified = true;
        request.DelegateUsers[1].DelegatePermissions.InboxFolderPermissionLevel = DelegateFolderPermissionLevelType.Editor;
        request.DelegateUsers[1].DelegatePermissions.InboxFolderPermissionLevelSpecified = true;

        // Specify whether the principal recieves meeting requests.
        request.DeliverMeetingRequests = DeliverMeetingRequestsType.DelegatesAndSendInformationToMe;
        request.DeliverMeetingRequestsSpecified = true;

        try
        {
            // Send the request and get the response.
            AddDelegateResponseMessageType response = esb.AddDelegate(request);
            DelegateUserResponseMessageType[] responseMessages = response.ResponseMessages;

            // One DelegateUserResponseMessageType exists for each attempt to add a delegate user to an account.
            foreach (DelegateUserResponseMessageType user in responseMessages)
            {
                Console.WriteLine("Results of adding user: " + user.ResponseClass.ToString());
                Console.WriteLine(user.DelegateUser.UserId.DisplayName);
                Console.WriteLine(user.DelegateUser.UserId.PrimarySmtpAddress);
                Console.WriteLine(user.DelegateUser.UserId.SID);
                if (user.DelegateUser.ReceiveCopiesOfMeetingMessagesSpecified)
                {
                    Console.WriteLine("Does the delegate receive copies of meeting related messages: " + user.DelegateUser.ReceiveCopiesOfMeetingMessages);
                }
                if (user.DelegateUser.ViewPrivateItemsSpecified)
                {
                    Console.WriteLine("Can the delegate view private items in the principal's mailbox: " + user.DelegateUser.ViewPrivateItems);
                }
            }
            Console.ReadLine();
        }
        catch (Exception e)
        {
            Console.WriteLine(e.Message);
            Console.ReadLine();
        }
    }

    For more information refer this article

  • Le Café Central de DeVa

    Create/Set Folder Level Permissions with Exchange Web Services (Exchange Server 2007 SP1)

    • 1 Comments

    Folder-level permissions work with other Exchange Web Services (Exchange Server 2007 SP1) 

    Folder-level permissions work with other Exchange Web Services operations in the following ways:

    • The GetFolder operation will return the permissions that are set on the folder when the AllProperties shape is specified.
    • The SyncFolderHierarchy operation synchronizes PermissionSets.
    • The UpdateFolder operation will fail if multiple Permission entries are provided for the same user. The UpdateFolder response will return the ErrorDuplicateUserIdsSpecified response code.
    • The AppendToFolderField option of the UpdateFolder operation will append a permission entry for a user if the user does not already have a permission entry in the access control list (ACL) of the folder. If the user that is specified already has a permission entry, an ErrorUserAlreadyExists response code will be returned.
    • The SetFolderField option of the UpdateFolder operation will overwrite all the permission settings on the folder. The client cannot change the permissions for each user.
    • The DeleteFolderField option of the UpdateFolder operation will delete all the permission settings on the folder. 

    Sample Code:

    The following code example shows you how to set folder-level permissions when a folder is created. The authenticated user grants user3 the Editor permission level on a new folder named NewFolderWithPermissionsSet that is created in the Inbox default folder. 

    static void CreateFolderLevelPermissions()
    {
        // Set the version, credentials, and the Client Access server on ExchangeServiceBinding.
        ExchangeServiceBinding esb = new ExchangeServiceBinding();
        esb.RequestServerVersionValue = new RequestServerVersion();
        esb.RequestServerVersionValue.Version = ExchangeVersionType.Exchange2007_SP1;
        esb.Credentials = new NetworkCredential("username", "password", "domain");
        esb.Url = "https://CAS.example.com/ews/exchange.asmx";

        // Create user identifier.
        UserIdType user = new UserIdType();
        user.PrimarySmtpAddress = "user3@example.com.com";

        // Set the folder permission level to Editor.
        PermissionSetType permissionSet = new PermissionSetType();
        permissionSet.Permissions = new PermissionType[] { new PermissionType() };
        //permissionSet.Permissions[0] = new PermissionType();
        permissionSet.Permissions[0].PermissionLevel = PermissionLevelType.Editor;
        permissionSet.Permissions[0].UserId = user;

        FolderType folder = new FolderType();
        folder.DisplayName = "NewFolderWithPermissionsSet";
        folder.PermissionSet = permissionSet;

        // Specify the target folder.
        DistinguishedFolderIdType inbox = new DistinguishedFolderIdType();
        inbox.Id = DistinguishedFolderIdNameType.inbox;
        TargetFolderIdType targetFolder = new TargetFolderIdType();
        targetFolder.Item = inbox;

        CreateFolderType request = new CreateFolderType();
        request.Folders = new FolderType[] { folder };
        request.ParentFolderId = targetFolder;

        try
        {
            // Send the request and get the response.
            CreateFolderResponseType response = esb.CreateFolder(request);

            // Get the response messages.
            ResponseMessageType[] rmta = response.ResponseMessages.Items;

            // Cast to appropriate response message type.
            if (((FolderInfoResponseMessageType)rmta[0]).ResponseClass == ResponseClassType.Success)
            {
                // Continue.
            }
           
        }

        catch
        {
            // Handle errors.
        }
    }

    For more information refer this article

  • Le Café Central de DeVa

    Technical Architecture of Exchange Server 2007

    • 1 Comments

    Technical Architecture of Exchange Server 2007 

    In Exchange Server 2007 introduces several architectural changes from previous versions of Exchange. Many features and components have been redesigned, some features have been removed, and several new features have been added.

    This document discusses the technical architecture of Exchange 2007, including descriptions of server roles, topologies, and the transport architecture. It is a compilation of several Exchange 2007 Help topics and is provided as a convenience for customers.

    Please find the following documentation here

  • Le Café Central de DeVa

    Calendar logging feature from Outlook

    • 1 Comments

    When i dealt with one of my customer, whose application dealt with Calendaring solution, i made this facility. Even in most of the scenarios, when we deal with Microsoft Office Outlook based calendaring solutions, what're the user action or what're the changes has made. But we have quick & smart solution for that.

    By making use of logging calendar transactions feature in the MS Outlook. Because of the Calendar logging feature, calendar transactions that are generated by client features, by user actions, by the object model, or by the MAPI Calendar Table are written to a log file.

    1) So what the log file will contain? 

    The log file contains the following information:

    Sniffer (Inbox auto-processing)
    Free/busy publishing
    Reminders
    Calendar item actions (creation, modification, or to deletion)
    Resource booking

    2) What is the main goal of the logging feature?

    The main goal of the Calendar logging feature is to quickly identify situations where, for example, meetings are inexplicably deleted from a Calendar folder


    For more information, please view the following article

  • Le Café Central de DeVa

    Part # 1 - Guide to Public Folders in Exchange Server 2007

    • 1 Comments

    Guide to Public Folders in Exchange Server 2007

    Please find the following articles, which guides us "how-to" deal with Public folders in Exchange Server 2007.

  • Le Café Central de DeVa

    Transport Architecture

    • 1 Comments

    Transport Architecture - Exchange Server 2007

    • I found this wonderful article, which gives heads up to Exchange Server 2007 with respect to Transport Architecture.
    • When we work with Exchange Server 2007, it's must to know how internally the messages are getting routed.
    • In Exchange Server 2007, the transport is collection of various server roles, connections, components and queus that work together to route the messages.
  • Le Café Central de DeVa

    Exchange Server 2007 - Database Architecture changes

    • 1 Comments

    Exchange Server 2007 - Database Architecture changes 

    The Exchange database architecture has changed in four significant respects in Exchange Server 2007:

    • The streaming database (.stm) file has been removed from Exchange 2007.
    • Longer log file names are used, thereby enabling each storage group to generate as many as 2 billion log files before log file generation must be reset.
    • Transaction log file size has been reduced from 5 MB to 1 MB to support the new continuous replication features in Exchange 2007.
    • The database page size has increased from 4 KB to 8 KB.
  • Le Café Central de DeVa

    Discontinued Features and De-Emphasized Functionality - Exchange Server 2007

    • 1 Comments

    Discontinued Features and De-emphasized functionality - Exchange Server 2007 

    • Do you know what're discontinued Features and De-Emphasized Functionality in Exchange Server 2007 ?. Then this article will be for you.
    • This article give details about the components, features, or functionality that has been removed, discontinued, or replaced in Microsoft Exchange Server 2007.
    • Please find this article

    Note: Some of the features and components that are listed as discontinued or de-emphasized in this topic were added to Exchange Server 2007 in Service Pack 1 (SP1). Please find this article.

  • Le Café Central de DeVa

    Exchange Server Comparison - Versions 2000, 2003 & 2007

    • 1 Comments

    Find the features comaprison of Exchange Server 2007 with features available in earlier versions, Exchange Server 2003, and Exchange Server 2000.

    Please find this useful article.

  • Le Café Central de DeVa

    Monitoring Event sink # 6 - Using Store Event Sink Bit Flags

    • 2 Comments
     
    In Event sink development, we have event sink bit flags. These flags can be used to identify which event sink was fired.
     
    The bit flags are implemented in EXEVTSNK.TLB, which is installed with the Exchange Software Development Kit (SDK). Then these flags are passed through the LFLAGS parameter of the following Exchange store event interface methods:

    Event Sink Flags Hexidecimal Value Decimal Value Description
    EVT_NEW_ITEM 0x00000001 1 The item is newly created.
    EVT_IS_COLLECTION 0x00000002 2 The item is a folder.
    EVT_REPLICATED_ITEM 0x00000004 4 The item is being replicated from another location.
    EVT_IS_DELIVERED 0x00000008 8 The item is being saved as a result of message delivery.
    EVT_SOFTDELETE 0x00000010 16 The item was deleted.
    EVT_HARDDELETE 0x00000020 32 The item was permanently deleted.
    EVT_INITNEW 0x00000040 64 First firing of the event sink. This is useful for initialization purposes. It is set only once during the lifetime of a created event sink.
    EVT_MOVE 0x00000100 256 The item was saved/deleted due to a move.
    EVT_COPY 0x00000200 512 The item was saved due to a copy.
    EVT_SYNC_BEGIN 0x01000000 16777216 The begin phase of the synchronous event.
    EVT_SYNC_COMMITTED 0x02000000 33554432 The commit phase of the synchonous event.
    EVT_SYNC_ABORTED 0x04000000 67108864 The event was aborted.
    EVT_INVALID_SOURCE_URL 0x20000000 536870912 Unable to get the source URL.
    EVT_INVALID_URL 0x40000000 1073741824 Unable to get the target URL.
    EVT_ERROR 0x80000000 2147483648 An error during the event.
  • Le Café Central de DeVa

    Microsoft Clinic for Exchange Server 2007 - Unified Messaging

    • 1 Comments

    Hi,

    Please find the following Microsoft Clinic for Exchange Server 2007 available for free - limited period, so make use of this!!

    Course Name: Clinic 5091: Introduction to Microsoft Exchange Server 2007 Unified Messaging
    URL:               https://www.microsoftelearning.com/eLearning/courseDetail.aspx?courseId=75413
    Estimated Time: 2 hrs
    Available Offline: Yes

    In this online clinic, you are introduced to the new Unified Messaging features and functionalities in Exchange Server 2007. In addition, you learn how telephony and Unified Messaging can be integrated in Exchange Server 2007. This online clinic is composed of a rich multimedia experience. It is intended for IT Professionals, who are interested in telephony or Unified Messaging.

  • Le Café Central de DeVa

    Monitoring Event Sink # 5 - How reliable Event sinks are?

    • 1 Comments
    After we implemented Event sink (either synchronous or asynchronous), there are certain situations we dont know why sinks are not firing and how reliable they are in real time situation.
    • Both synchronous and asynchronous event notifications are reliable under normal conditions.
    • That is, no notification is skipped on an event.
    • However, if there is a failure in the store, Exchange server might call your event method multiple times.
    • For example, Exchange might shut down after three of five event notifications have been invoked.
    • When Exchange restarts, the three previous event notifications might or might not be invoked a second time.
    • An event method that fails after being notified will not be notified again for that specific event
  • Le Café Central de DeVa

    Monitoring Event Sink # 4 - Using Performance Counters

    • 1 Comments

    You can also monitor the Event sinks by using Performance Counters. 

    • System monitor counters are fully supported for each event.
    • For the core OLE DB functions, these counters are the same as the store counters.
    • For Microsoft Exchange-specific implementations, such as the various event interfaces, the OLE DB layer in the store supports counters for determining how an out-of-process sink affects the performance of the overall system.
    • In addition, the OLE DB provider creates counters for each instance of a virtual server.
    • Other Microsoft Internet Information Services (IIS) services, such as SMTP, Network News Transfer Protocol (NNTP), and HTTP perform similar functions.

    Each event appears as an instance of one of the following counters:

    • Submitted Rate (per second)
    • Submitted Total
    • Completed Rate (per second)
    • Completed Total
  • Le Café Central de DeVa

    Monitoring Event sink # 3 - Using OLE DB Provider &amp; Application Event Logs

    • 1 Comments
    When we work with event sink, many of the time we'll get confuse, whether the event is working or not. Because there are quite some issues associated probably event sink might be not properly registered or not, how about its criteria filter or any of the interfaces or missing were some of the common reasons.
     
    By making use of MS Exchange OLE DB provider, we can find more valuable information. We can check MS Exchange OLE DB provider logs events in the Microsoft Windows® server operating systems Application event log.

    The following table describes these events.

    Severity Symbol Description
    Error EVENTS_BINDING_DISABLED The Exchange OLE DB (ExOLEDB) provider has disabled the event registration due to the problems in the event sink.
    Error EVENTS_INVALID_BINDING The ExOLEDB provider was unable to register the event.
    Error EVENTS_INVALID_CRITERIA_FILTER The ExOLEDB provider was unable to process the specified event criteria filter.
    Error EVENTS_INVALID_PROPERTY_VALUE The ExOLEDB provider was unable to initialize the event registration.
    Error EVENTS_INVALID_SINK_CLASS The ExOLEDB provider was either unable to create an event sink object or unable to get the necessary interface or interfaces from the sink class.
    Error EVENTS_MISSING_PROPERTY The ExOLEDB provider was unable to initialize event registration due to a missing property value.
    Error EVENTS_UNABLE_TO_INITIALIZE_SOURCE The ExOLEDB provider was unable to initialize event registration for the store.
    Error EVENTS_UNABLE_TO_REGISTER_BINDING The ExOLEDB provider was unable to initialize an event registration.
    Error EXOLEDB_FAILED_TO_REGISTER_OBJECTS The ExOLEDB provider was unable to successfully register event sink Component Object Model (COM) objects
  • Le Café Central de DeVa

    The support guidelines for client-side messaging development

    • 1 Comments

    The support guidelines for client-side messaging development

    This is one of the finest article describes "what is supported" and "what is not supported" when you develop custom solutions that integrate with Microsoft-based messaging products or Microsoft technologies. This article also contains most of the key information to be aware of when you develop with Microsoft products and Microsoft technologies.

    However, this article does not cover all scenarios.

    Some of them were,

    • Integrating with Outlook properties
    • MAPI-specific information for named properties
    • Common named properties that are used by Outlook
    • APIs that are supported in managed code
    • The .NET Framework user controls and etc.

    Please find the article

  • Le Café Central de DeVa

    Developer information about the calendar changes in Outlook 2003 Service Pack 2, in Exchange Server 2003 Service Pack 2, and in later versions of Exchange Server and of Outlook

    • 1 Comments

    Hi Exchange and Outlook developers!!

    I found this wonderful article, which describes a change in how Microsoft Office Outlook 2003 Service Pack 2 (SP2) and later service packs, Microsoft Exchange Server 2003 Service Pack 2 (SP2), and later versions of Exchange Server and of Outlook handle meetings. This new design addresses disappearing-meeting scenarios that were introduced by Outlook 2003 in cached mode.

    The new design does not have a visible effect on end-users. However, the new design can affect custom solutions that integrate with the calendar features in Outlook. This article describes the new design so that developers of custom solutions can update those solutions if it is required

     

  • Le Café Central de DeVa

    Windows Server 2008 Resources (E-learning, E-Book, Hands-on labs, Skills transitioning courses)

    • 1 Comments

    It's for all Microsoft developers, enthusists!! 

     

    Windows Server 2008 Release Candidate helps IT professionals to increase the flexibility and reliability of their server infrastructure while offering developers a more robust web and applications platform for building connected applications and services.

     

    To download the RC1 Enterprise 64 bit only with the Hyper-V Beta, go to

    http://www.microsoft.com/downloads/details.aspx?FamilyId=8F22F69E-D1AF-49F0-8236-2B742B354919&displaylang=en

     

    Other Windows Server 2008 Resources: 

    Free Windows Server 2008 e-book offer and Microsoft Press newsletter

    This e-book includes excerpts from two recent publications from Microsoft Press:

    Introducing Windows Server 2008 by Mitch Tulloch with the Microsoft Windows Server Team (ISBN: 9780735624214)
    This e-book covers Windows Server virtualization, managing Windows Server 2008, Active Directory, Terminal Services, and failover clustering.

    Microsoft Windows PowerShell Step by Step by Ed Wilson (ISBN: 9780735623958)
    This e-book includes an overview of Windows PowerShell, using Windows PowerShell cmdlets, and leveraging PowerShell providers.

    Additional chapters from Introducing Windows Server 2008 will be added periodically, so be sure to come back and read more from expert Mitch Tulloch and the Windows Server team.

    Register to get the free e-book offer, and sign up for the Microsoft Press Book Connection newsletter.

    Register now

    Microsoft E-Learning 

    Collection 5934: Introducing Windows Server 2008—free for a limited time!
    This online learning collection of clinics introduces the new features and functionality in Windows Server 2008. The clinics cover server virtualization, security and policy management, branch office management, centralized application access, and server management. You can take the entire collection of clinics, or just the clinics that interest you.

    Clinic 5935: Introducing Server Virtualization in Windows Server 2008

    Clinic 5936: Introducing Security and Policy Management in Windows Server 2008

    Clinic 5937: Introducing Branch Office Management in Windows Server 2008

    Clinic 5938: Introducing Centralized Application Access in Windows Server 2008

    Clinic 5939: Introducing Server Management in Windows Server 2008

     

    Collection 6041: Upgrading Your Windows Server 2003 MCSE Technical Skills to Windows Server 2008

    Get a head start on Windows Server 2008. Now is the time to upgrade your technical skills on Windows Server 2008 with Microsoft E-Learning Collection 6041, including access to virtual labs.

    Special limited time offer! Sign up for this collection now and get free registration for three upgrade collections on Networking, Active Directory, and Application Platform Services as they become available.

    Course 6042: Installing and Managing Windows Server 2008 (Beta)

    Course 6043: Implementing Active Directory Domain Services in Windows Server 2008 (Beta)

    Course 6044: Implementing Active Directory Identities and Access in Windows Server 2008 (Beta)

    Course 6045: Managing Internet Information Services 7.0 and Windows Media Server in Windows Server 2008 (Beta)

    Course 6046: Implementing Network Infrastructure Services in Windows Server 2008 (Beta)

    Course 6047: Implementing Network Access Protection in Windows Server 2008 (Beta)

    Course 6048: Implementing Terminal Services in Windows Server 2008 (Beta)

    Course 6049: Implementing a Storage Infrastructure in Windows Server 2008 (Beta)

    Course 6050: Implementing Security in Windows Server 2008 (Beta)

    Course 6051: Implementing High Availability and Virtualization in Windows Server 2008 (Beta)

     

    Classroom training

    Classroom training is designed to help you transition your skills and build expertise on Windows Server 2008 with world-class learning content. In this section, you will find both first-look courses as well as skills-transitioning courses.

    First-look courses and hands-on labs

    These 90-minute clinics and accompanying hands-on labs target specific scenarios on Windows Server 2008 to help you prepare for Windows Server 2008 certification.

    Course 6400: First Look: Getting Started with Centralized Application Access in Windows Server 2008

    Course 6401: First Look: Getting Started with Centralized Application Access in Windows Server 2008 Hands-On Lab

    Course 6402: First Look: Getting Started with Branch Office Management in Windows Server 2008

    Course 6403: First Look: Getting Started with Branch Office Management in Windows Server 2008 Hands-On Lab

    Course 6404: First Look: Getting Started with High Availability in Windows Server 2008

    Course 6405: First Look: Getting Started with High Availability in Windows Server 2008 Hands-On Lab

    Course 6406: First Look: Getting Started with Security and Policy Control in Windows Server 2008

    Course 6407: First Look: Getting Started with Security and Policy Control in Windows Server 2008 Hands-On Lab

    Course 6408: First Look: Getting Started with Server Management in Windows Server 2008

    Course 6409: First Look: Getting Started with Server Management in Windows Server 2008 Hands-On Lab

    Course 6410: First Look: Getting Started with Server Virtualization in Windows Server 2008

    Course 6411: First Look: Getting Started with Server Virtualization in Windows Server 2008 Hands-On Lab

    Course 6412: First Look: Getting Started with Web and Applications Platform Technologies in Windows Server 2008

    Course 6413: First Look: Getting Started with Web and Applications Platform Technologies in Windows Server 2008 Hands-On Lab

    Skills transitioning courses

    These three-day classroom sessions are designed to help Microsoft Certified Systems Administrators (MCSAs) and Microsoft Certified Systems Engineers (MCSEs) transition their skills from Windows Server 2003 to Windows Server 2008.

    Course 6415: Updating Your Network Infrastructure Technology Skills to Windows Server 2008

    Course 6416: Updating Your Active Directory Technology Skills to Windows Server 2008

    Course 6417: Updating Your Application Platform Technology Skills to Windows Server 2008

    Course 6418: Deploying Windows Server 2008

    If you are interested in building a Learning Plan for 2008, here is the place.

    http://learning.microsoft.com/manager/LearningPlanV2.aspx?resourceId=%7b5c72c6e4-9848-46b7-a7e5-3b4bd54196cd%7d&clang=en-US

  • Le Café Central de DeVa

    Powershell &amp; cmdlet - In a Nutshell - Part 9 - Modifying Transport Agent using Set-TransportAgent cmdlet (Exchange Management Shell)

    • 1 Comments

    Modifying Exchange Transport Agent

    For administer transport agents, we must use the Set-TransportAgent cmdlet (Exchange Management Shell). For its details syntax and parameters, please refer here.

    The following example shows how the priority of a sample agent for Exchange agent would be modified. You can use the Exchange Management Shell to modify the priority of an existing transport agent by using,

    Set-TransportAgent "Sample Agent for Exchange" -Priority 2

    Note:

    • To run the Set-TransportAgent cmdlet on a computer that has the Edge Transport server role installed.
    • You must be a member of the local Administrators group on that computer.
    • To run the Set-TransportAgent cmdlet, the account you use must be delegated to: Exchange Server Administrator role and local Administrators group for the target server.

  • Le Café Central de DeVa

    A Glimpse on MAPI tables

    • 1 Comments

    1) What do you meant by "MAPI table"?

    • A MAPI table is a MAPI object that is used to view a collection of properties belonging to other MAPI objects of a particular type.

    2) How the values are stored and can be used in MAPI table?

    • MAPI tables are structured in a row and column format with each row representing an object and each column representing a property of the object.
    • One of the properties usually included in each row is the PR_ENTRYID property, an identifier that can be used to open and modify the object.
    • Rows contain property values, retrieving a row from a table is similar to getting a set of properties directly from the object that the row represents.
    • Both operations result in the retrieval of a property value array.
    • The main difference is in the handling of long string and binary properties.
    • For inclusion in a table, some table implementers truncate these properties to 255 bytes.
    • When retrieved directly from the object, the full value is always available.

    3) In which way usage of MAPI tables are useful?

    • MAPI tables enable client applications and service providers to readily access and manipulate the important properties of many types of objects.
    • Even MAPI tables such as contents tables, provide an alternative way of accessing properties.

    Take this case directly a client cannot access an attachment's PR_ATTACH_METHOD property by calling IMAPIProp::GetProps; it must always retrieve the attachment table of the message to which it is attached. PR_ATTACH_METHOD is a required column in all attachment tables.

  • Le Café Central de DeVa

    Exchange Store - Experiences (FAQ) - Part 3

    • 3 Comments

    One of my customer asked this question, "what is the Difference between Mailbox store & Public folder store objects in Active Directory & Exchange System Manager ?".

     Yep, not only him, many of us want to know the same?

    • @ Active Directory Sites and Services, mailbox store and public folder store objects are represented by leaf nodes that do not contain child objects.
    • @ Exchange System Manager,  mailbox store and public folder store objects are represented as nodes in the console tree.
    • ESM tree contain several child containers, such as Logons, Mailboxes or Public Folders, Public Folder Instances, Replication Status, and Full-Text Indexing.
Page 24 of 26 (648 items) «2223242526