IsImpersonating

Description

Queries whether a COM object running on COM+ is impersonating the client.

Applies to

TransactionServer objects

Syntax

transactionserver.IsImpersonating (  )

Argument

Description

transactionserver

Reference to the TransactionServer service instance

Returns

Boolean. Returns true if the component is impersonating the client and false if it is not.

Usage

COM objects running on COM+ can use the ImpersonateClient function to run in the client's security context so that the server process has access to the same resources as the client. Use IsImpersonating to determine whether the ImpersonateClient function has been called without a matching call to RevertToSelf.

Examples

Example 1

The following example creates an instance of the TransactionServer service and checks whether the COM object is currently running on the client’s security context. If it is not, it impersonates the client, performs some processing using the client’s security context, then reverts to the object’s security context:

TransactionServer txninfo_test

integer li_rc


li_rc = GetContextService( "TransactionServer",  &

    txninfo_test )

IF NOT txninfo_test.IsImpersonating() THEN

    txninfo_test.ImpersonateClient()

END IF

// continue processing as client

txninfo_test.RevertToSelf()

See also