Be careful about writing HTML code from your dll. When your client decides he wants a red font, you don't want to have to recompile your dll.
In general however, if you want to access the ASP built in objects you have four options:
1. Use ScriptingContext (bad)
2. Use ObjectContext (good)
3. Use COM+ (better)
4. Use Property Procedures (best)
ScriptingContext is provided for backwards compatibility with IIS 3.0. If you are using IIS 4, you should be using ObjectContext. Add a reference in your VB Project to "microsoft transaction server type library" and then use code like this:
[tt]
Dim oContext as ObjectContext
Dim oResponse as Response
Set oContext = GetObjectContext()
Set oResponse = oContext("Response"

[/tt]
If you are using IIS 5, you will add a reference to the COM+ Services library but the VB Code remains the same.
Another way to do it is to identify what you will need from your ASP application and set that info to Properties. For example, if you need a cookie variable in your VB dll... In your ASP page:
[tt]
oMyDll.Color = Request.Cookies("color"

("red"

[/tt]
Then in your dll..
[tt]
Public Property Let Color(NewValue as String)
[tab]sColor = NewValue
End Property
[/tt]
This way, if you decide you want to store the color info in a querystring or session or whatever, you don't have to recompile the dll.
Hope this helps.