ACCOUNT.IDL

// Filename: Account.idl 
//
// Description: IDL source for Account.dll
// This file will be processed by the MIDL tool to
// produce the type library (Account.tlb) and marshalling code
//
// This file is provided as part of the Microsoft Transaction Server Samples
//
// THIS CODE AND INFORMATION IS PROVIDED "AS IS" WITHOUT
// WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED,
// INCLUDING BUT NOT LIMITED TO THE IMPLIED WARRANTIES
// OF MERCHANTABILITY AND/OR FITNESS FOR A PARTICULAR
// PURPOSE.
//
// Copyright (C) 1997 Microsoft Corporation, All rights reserved

#include <mtxattr.h>

[
object,
uuid(04CF0B72-1989-11D0-B917-0080C7394688),
dual,
helpstring("IAccount Interface"),
pointer_default(unique)

]
interface IAccount : IDispatch
{
import "oaidl.idl";
HRESULT Post(
[in] long lAccount,
[in] long lAmount,
[out,retval] BSTR* pbstrResult);
};

[
object,
uuid(04CF0B77-1989-11D0-B917-0080C7394688),
dual,
helpstring("IMoveMoney Interface"),
pointer_default(unique)

]
interface IMoveMoney : IDispatch
{
import "oaidl.idl";
HRESULT Perform(
[in] long lPrimeAccount,
[in] long lSecondAccount,
[in] long lAmount,
[in] long lTranType,
[out, retval] BSTR* pbstrResult);
};


[
object,
uuid(A81260B1-DDC8-11D0-B5A0-00C04FB957D8),
dual,
helpstring("IGetReceipt Interface"),
pointer_default(unique)

]
interface IGetReceipt : IDispatch
{
import "oaidl.idl";
HRESULT GetNextReceipt (
[out,retval] long* plReceiptNo);
};

[
object,
uuid(A81260B7-DDC8-11D0-B5A0-00C04FB957D8),
dual,
helpstring("IUpdateReceipt Interface"),
pointer_default(unique)

]
interface IUpdateReceipt : IDispatch
{
import "oaidl.idl";
HRESULT Update (
[out,retval] long* plReceiptNo);
};








[
uuid(04CF0B70-1989-11D0-B917-0080C7394688),
version(1.0),
helpstring("Sample Bank Account (VC version)")
]
library ACCOUNT
{
importlib("stdole2.tlb");

[
uuid(04CF0B76-1989-11D0-B917-0080C7394688),
helpstring("Account Class"),
TRANSACTION_REQUIRED
]
coclass CAccount
{
[default] interface IAccount;
};

[
uuid(04CF0B7B-1989-11D0-B917-0080C7394688),
helpstring("MoveMoney Class"),
TRANSACTION_REQUIRED
]
coclass CMoveMoney
{
[default] interface IMoveMoney;
};

[
uuid(A81260B2-DDC8-11D0-B5A0-00C04FB957D8),
helpstring("GetReceipt Class"),
TRANSACTION_SUPPORTED
]
coclass CGetReceipt
{
[default] interface IGetReceipt;
};


[
uuid(A81260B8-DDC8-11D0-B5A0-00C04FB957D8),
helpstring("UpdateReceipt Class"),
TRANSACTION_REQUIRES_NEW
]
coclass CUpdateReceipt
{
[default] interface IUpdateReceipt;
};

};