Best way to create alternate index entries that honor a transaction


I would like to create/update/delete index entries within the boundaries of a transaction. I took a look at TLogServer. I was curious if any one had a better place to look in to hooking in to the transaction? My hope is to obviously have the alternate index updates honor and influence the transaction. For example, rollback the transaction if the alternate index update fails. FYI this index will not be a btree it will be a different file format.

Thanks for any assistance/input you can provide.