123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183 |
- //+-------------------------------------------------------------------------
- //
- // Microsoft Windows Media Technologies
- // Copyright (C) Microsoft Corporation. All rights reserved.
- //
- // File: authen.idl
- //
- // Contents:
- //
- //--------------------------------------------------------------------------
- cpp_quote("//+-------------------------------------------------------------------------")
- cpp_quote("//")
- cpp_quote("// Microsoft Windows Media Technologies")
- cpp_quote("// Copyright (C) Microsoft Corporation. All rights reserved.")
- cpp_quote("//")
- cpp_quote("// Automatically generated by Midl")
- cpp_quote("//")
- cpp_quote("// DO NOT EDIT THIS FILE.")
- cpp_quote("//")
- cpp_quote("//--------------------------------------------------------------------------")
- cpp_quote("#if _MSC_VER > 1000")
- cpp_quote("#pragma once")
- cpp_quote("#endif // _MSC_VER > 1000")
- import "oaidl.idl";
- import "WMSContext.idl";
- cpp_quote( "EXTERN_GUID( IID_IWMSAuthenticationPlugin , 0xBE185FF9,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
- cpp_quote( "EXTERN_GUID( IID_IWMSAuthenticationContext , 0xBE185FFA,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
- cpp_quote( "EXTERN_GUID( IID_IWMSAuthenticationCallback , 0xBE185FFB,0x6932,0x11d2,0x8B,0x3B,0x00,0x60,0x97,0xB0,0x12,0x06 );" )
- interface IWMSAuthenticationPlugin;
- interface IWMSAuthenticationContext;
- interface IWMSAuthenticationCallback;
- ///////////////////////////////////////////////////////////////////////////////
- //
- //
- ///////////////////////////////////////////////////////////////////////////////
- [
- object,
- uuid(BE185FF9-6932-11d2-8B3B-006097B01206),
- version(9.0),
- pointer_default(unique),
- helpstring("Provides methods for retrieving information about an authentication plugin and for accessing the plug-ins IWMSAuthenticationContext object.")
- ]
- interface IWMSAuthenticationPlugin : IUnknown
- {
- typedef [public] enum WMS_AUTHENTICATION_FLAGS
- {
- WMS_AUTHENTICATION_TEXT_CHALLENGE = 0x01,
- WMS_AUTHENTICATION_CLIENT_SHOWS_UI = 0x02,
- WMS_AUTHENTICATION_ANONYMOUS = 0x04,
- WMS_AUTHENTICATION_CHALLENGE_FIRST = 0x08,
- } WMS_AUTHENTICATION_FLAGS;
- //
- // Find out the authentication plugin's package name.
- //
- [helpstring("Called by the server to retrieve the name of the authentication plug-in package.")] HRESULT
- GetPackageName( [out,retval] BSTR *pbstrPackageName );
- //
- // Find out the protocol supported by this authentication response plugin.
- // Examples include "Basic", "NTLM", "Digest", "Kerberos", etc...
- //
- [helpstring("Called by the server to retrieve the name of the protocol used by the authentication plug-in.")] HRESULT
- GetProtocolName( [out,retval] BSTR *pbstrProtocolName );
- //
- // Flags come from WMS_AUTHENTICATION_FLAGS enum list
- //
- [helpstring("Called by the server to retrieve flags that indicate the credential acquisition support provided by the plug-in.")] HRESULT
- GetFlags( [out,retval] long *plFlags );
- //
- // Create an authentication context which will be used by one session
- //
- [helpstring("Called by the server to retrieve an authentication context object.")] HRESULT
- CreateAuthenticationContext( [out,retval] IWMSAuthenticationContext **ppAuthenCtx );
- };
- ///////////////////////////////////////////////////////////////////////////////
- //
- //
- ///////////////////////////////////////////////////////////////////////////////
- [
- object,
- uuid(BE185FFA-6932-11d2-8B3B-006097B01206),
- version(9.0),
- pointer_default(unique),
- helpstring("Provides methods that are used to authenticate a client.")
- ]
- interface IWMSAuthenticationContext : IUnknown
- {
- //
- // Get a pointer to the authentication plugin that implements this context
- //
- [helpstring("Called by the server to retrieve a pointer to the authentication plug-in that created this authentication context.")] HRESULT
- GetAuthenticationPlugin(
- [out,retval] IWMSAuthenticationPlugin **ppAuthenPlugin );
- //
- // Authenticate is the workhorse method that gets invoked one or more
- // times throughout an authentication challenge/response sequence
- //
- [helpstring("Called by the server to verify client credentials.")] HRESULT
- Authenticate(
- [in] VARIANT ResponseBlob,
- [in] IWMSContext *pUserCtx,
- [in] IWMSContext *pPresentationCtx,
- [in] IWMSCommandContext *pCommandContext,
- [in] IWMSAuthenticationCallback *pCallback,
- [in] VARIANT Context );
-
- //
- // Get the logical user ID (only works if authentication has succeeded).
- //
- [helpstring("Called by the server to retrieve the logical user ID if authentication succeeds.")] HRESULT
- GetLogicalUserID( [out,retval] BSTR *pbstrUserID );
-
- //
- // Get the name of the NT security user/group account that this context
- // impersonates (only works if authentication has succeeded).
- //
- [helpstring("Called by the server to retrieve the name of the user account or group associated with this authentication context.")] HRESULT
- GetImpersonationAccountName( [out,retval] BSTR *pbstrAccountName );
- //
- // Get the handle of the NT security user/group account that this context
- // impersonates (only works if authentication has succeeded).
- //
- [helpstring("Called by the server to retrieve an impersonation access token for the user account associated with this authentication context.")] HRESULT
- GetImpersonationToken( [out,retval] long *plToken );
- };
- ///////////////////////////////////////////////////////////////////////////////
- //
- //
- ///////////////////////////////////////////////////////////////////////////////
- [
- object,
- uuid(BE185FFB-6932-11d2-8B3B-006097B01206),
- version(9.0),
- pointer_default(unique),
- helpstring("Provides a method to notify the server of the results of an authentication request.")
- ]
- interface IWMSAuthenticationCallback : IUnknown
- {
- ///////////////////////////////////////////////////////////////////////////////
- //
- // Authentication return codes
- //
- typedef [public] enum WMS_AUTHENTICATION_RESULT
- {
- WMS_AUTHENTICATION_SUCCESS = 0x01,
- WMS_AUTHENTICATION_DENIED = 0x02,
- WMS_AUTHENTICATION_CONTINUE = 0x03,
- WMS_AUTHENTICATION_ERROR = 0x04
- } WMS_AUTHENTICATION_RESULT;
- //
- // Called as a result of the context's Authenticate method completing.
- //
- [helpstring("Called by the plug-in to respond when the server calls IWMSAuthenticationContext::Authenticate.")] HRESULT
- OnAuthenticateComplete(
- [in] WMS_AUTHENTICATION_RESULT AuthResult,
- [in] VARIANT ChallengeBlob,
- [in] VARIANT Context );
- };
|