Owen Rudge wrote:
> ---
>  dlls/mapi32/Makefile.in   |    2 +-
>  dlls/mapi32/mapi32_main.c |    5 +-
>  dlls/mapi32/util.c        |  148 
> +++++++++++++++++++++++++++++++++++++++++++++
>  dlls/mapi32/util.h        |   28 +++++++++
>  4 files changed, 181 insertions(+), 2 deletions(-)
>  create mode 100644 dlls/mapi32/util.h
Hi. Few comments.
> +
> +static HMODULE mapi_provider = NULL;
> +static HMODULE mapi_ex_provider = NULL;
> +
This is redundant, static will be initialized to zero anyway.
> +static void load_mapi_provider(HKEY hkeyMail, LPCWSTR valueName, HMODULE *mapi_provider)
> +{
> +    static const WCHAR mapi32_dll[] = {'m','a','p','i','3','2','.','d','l','l',0 };
> +
> +    DWORD dwType, dwLen = 0;
> +    LPWSTR dllPath;
> +
> +    if (!mapi_provider)
> +        return;
> +
I don't think this check is necessary, it's your internal helper.
> +cleanUp: ;
Semicolumn isn't needed here.