Re: MAPI property value

From: Eric (bauersachs_at_kull.ch.nospam.me.com)
Date: 09/02/04


Date: Thu, 2 Sep 2004 18:43:49 +0200

Ok thanks. Now I know what transmittable and non-transmittable stands for.
Because I don't have any messages it doesn't matter what range I use.

As I probably mentioned already, I'm developing an Address Book Provider and
need to save User Name and Password for the central server. Where would you
store this information? (global profile section or my Address Book
Provider's private profile section?)

ID's: This is currently in my header file:
// Custom properties used by this service provider. These properties are
// non-transmittable and only used in the configuration and private
// profile section of this provider/service.
#define BASE_PROVIDER_ID 0x6600 // look at the comments in MAPITAGS.H
#define PROP_TAG_USERNAME PROP_TAG(PT_TSTRING,(BASE_PROVIDER_ID+0x0000))
#define PROP_TAG_PASSWORD PROP_TAG(PT_TSTRING,(PROP_ID_SECURE_MIN+0x0000))
What ID's would you use? Do you think this is ok?

Access the private profile section of the Address Book Provider from the
Outlook-Add-In: What kind of "hacking" is necessary? Have you got some
sample code or some more details about this? I'm using OutlookSpy.

I don't understand that with the different profile sections. Furthermore
there are Service and Provider UID's. Currently my code is like this:
In ServiceEntry/MSG_SERVICE_CONFIGURE I call
pAdminProvObj->OpenProfileSection(NULL,NULL,MAPI_MODIFY,&pPropObj);
and in IABProvider::Logon I call (like already mentioned):
OpenProfileSection(NULL,
GetProps(..PR_SERVICE_UID..,&pProp);
OpenProfileSection(pProp->Value.bin.lpb,..

What I have understood until now (please correct me if I'm wrong or confirm
if true):
- UID's specify what profile section to open. There's a constant for the
global profile section (same data for all applications).
- difference between Service and Provider: Both have UID's. Service exists
for my Address Book Provider only once, but if installed in the same profile
multiple times then there are different Provider UID's. (just guessing)
- The call in ServiceEntry (IProviderAdmin::OpenProfileSection) opens the
profile section for the Service.
- The call in IABProvider::Logon (see above) opens first the some x section,
reads the UID for the provider's private section and then opens that
section.
I also don't know what the x section (last line above) stands for. I have
never set any UID's using IMAPISupport::NewUID nor is hard-coded in any
header file, but using GetProps(..PR_SERVICE_UID..,&pProp); I get a UID.
Will one be created for me, if I use NULL somewhere?

I hope you can clear some of the things in this mess I've got.

Thanks for any help

Eric Bauersachs

"Dmitry Streblechenko (MVP)" <dmitry@dimastr.com> wrote in message
news:etppTv3jEHA.3612@TK2MSFTNGP12.phx.gbl...
> Non-transmittable properties only make sense in the context of the
> messages: when a message is sent, a non-transmittable property in case of
> Exchange will not be set when a recipient receives the message.
> If your provider and an addin will share the same *private* profile
section,
> there will not be any conflicts, but your addin will need to use some
> hacking to open the section. If you open a global profile section
> (pbGlobalProfileSectionGuid), sharing is easier, but there is a potential
> for conficts. Try to play with ProfMan2 from MSDN or OutlookSpy (click
> IProfAdmin or IMAPISession|AdminServices).
>
> Dmitry Streblechenko (MVP)
> http://www.dimastr.com/
> OutlookSpy - Outlook, CDO
> and MAPI Developer Tool
>
>
> "Eric" <bauersachs@kull.ch.nospam.me.com> wrote in message
> news:ch15eq$52t$1@newshispeed.ch...
> > I have seen that the sample ABWDS32 uses the range 6600 to 67FF, called
> > "Provider-defined internal non-transmittable property".
> >
> > What does transmittable and non-transmittable mean?
> >
> > I need that another application (an Outlook Plug-In) can access these
> values
> > too, not only my MAPI Address Book Provider. Is that possible with
> > non-transmittable properties?
> >
> > Section? I don't know much about this. I use copied code I don't
> understand
> > fully yet:
> > OpenProfileSection(NULL,...
> > GetProps(..PR_SERVICE_UID...
> > OpenProfileSection(pProp->Value...
> > I assume this is my private provider's section.
> >
> > What information is stored in the global profile? Is this the first call
> > (OpenProfileSection(NULL,...) to get the global profile?
> >
> > If I use "any" number like you tell me, will there be a problem with the
> > next version of MAPI / Outlook if then that number will be reserved /
> used?
> > Will there be problems with other applications using the same number?
> >
> > Eric
> >
> > "Dmitry Streblechenko (MVP)" <dmitry@dimastr.com> wrote in message
> > news:uoZsfxrjEHA.1348@TK2MSFTNGP15.phx.gbl...
> > > You can use pretty much whatever you want as long as you save the data
> in
> > > the private provider profile section (as opposed to the global profile
> or
> > > other provider's section) - MAPI doesn't really care as long as you do
> not
> > > overwrite one of the reserved propertties (such as PR_PROFILE_NAME).
> > >
> > > Dmitry Streblechenko (MVP)
> > > http://www.dimastr.com/
> > > OutlookSpy - Outlook, CDO
> > > and MAPI Developer Tool
> > >
> > >
> > > "Eric" <bauersachs@kull.ch.nospam.me.com> wrote in message
> > > news:cgv3vv$o99$1@newshispeed.ch...
> > > > I am developing a MAPI Address Book Provider and need to save data
> (user
> > > > name and password to logon to central address book server). I want
> these
> > > > values to be saved in the profile (makes sense or not?). These two
> > values
> > > > must be readable / writeable from within the Address Book Provider
and
> > > from
> > > > an Outlook Plugin, which uses the same account information.
> > > >
> > > > When I look at MAPITAGS.H I find some hints for the property values,
> but
> > I
> > > > still don't know what values I should take. Do I need a
transmittable
> or
> > a
> > > > non-transmittable property? Above 0x8000 is defined as User-defined,
> but
> > > the
> > > > general comment says that the range 0x3000 to 0x3FFF is for objects
> > other
> > > > than messages and recipients. The range 0x3900 to 0x39FF is for
> Address
> > > > books. That range is non-transmittable and perhaps Microsoft
internal
> > > only?
> > > >
> > > > What values would you recommend?
> > > >
> > > > Eric



Relevant Pages

  • Re: ASP.HttpProfile to be undefined
    ... Since there is a provider in there,"AspNetSqlProfileProvider", I don't need ... Look for the "profile" section: ... There is Intellisense for ASP but the 3 items do not include HttpProfile ... I'm using SQL Server and the AspnetDb database. ...
    (microsoft.public.dotnet.framework.aspnet)
  • Re: Architecture: Custom Profile Provider with Active Directory Membership
    ... While you can perform insert/update/delete operations on users, the one thing that you can't change is the username. ... So, it stands to reason that if you perform a rename in AD, you are doing it outside of the context of the MembershipProvider, and unfortunately, it would be up to you to relocate profile information for any accounts that you changed the name of. ...
    (microsoft.public.dotnet.languages.csharp)
  • re: Location of the profile.msh for custom provider
    ... In your installation notes, you would want to make it clear that adding your formatting file to the profile is another step in the installation. ... Location of the profile.msh for custom provider ...
    (microsoft.public.windows.server.scripting)
  • Custom Profile Provider
    ... Ok, when I first started to play with the Provider model for all things membership in ASP.NET 2.0, I have to say I was pleased... ... I'd like to have profile be a strongly typed complex object derived from profilebase. ... Should I just scrap the profiles all together and somehow assign equivalent of a profile on Authentication? ... It looks like it was designed to be able to use custom strongly typed complex objects, I just don't know how to populate the object. ...
    (microsoft.public.dotnet.framework.aspnet.security)
  • RE: Private settings on my laptop
    ... SBSnetsetup.log file to read what is coming up private. ... I understand that you cannot copy profile to domain ... How to use Files and Settings Transfer Wizard in Windows XP ... Microsoft CSS Online Newsgroup Support ...
    (microsoft.public.windows.server.sbs)