The IGetSession interface returns an interface pointer on the session object within whose context the row object was created.
Every row object is created within the context of a session object. When a consumer creates a row object from a rowset by calling IGetRow::GetRowFromHROW, the row object exists within the context of the session associated with that rowset. When the consumer instantiates a row directly by calling a method such as IBindResource::Bind, the provider creates an implicit session object first and then instantiates the row object in the context of that session.
For many operations, such as creating a containing rowset, creating views, and transacting scoped operations, the consumer needs an interface on the session object within whose context the row exists. The IGetSession interface has a single method that returns the desired interface on the session object associated with a row.