cosetproxyblanket (ole32)
Last changed: -80.3.32.5

.
Summary
The CoSetProxyBlanket API is not safe for use from managed code directly, you must use the .NET marshalling APIs to access the right COM functions.

C# Signature:

[DllImport("ole32.dll")]
static extern int CoSetProxyBlanket([MarshalAs(UnmanagedType.IUnknown)]
   object pProxy, uint dwAuthnSvc, uint dwAuthzSvc,
   [MarshalAs(UnmanagedType.LPWStr)] string pServerPrincName, uint dwAuthnLevel,
   uint dwImpLevel, IntPtr pAuthInfo, uint dwCapabilities);

User-Defined Types:

None.

Notes:

Please look at http://msdn2.microsoft.com/en-us/library/aa302389.aspx#secnetch09_callingservicedcompaspnet, which shows how to call CoSetProxyBlanket in C#. As this is published on the MS Patterns and Practices web site I would assume this would be OK and is safe. This reference has code and discusses the issues about transition from .net object to COM IUnknown reference using the Marshal functions.

Tips & Tricks:

Please add some!

Sample Code:

Please see http://msdn2.microsoft.com/en-us/library/aa302389.aspx#secnetch09_callingservicedcompaspnet

Alternative Managed API:

Do you know one? Please contribute it!

Documentation