How does C buffer pointer BSTR translate into delphi?

There has been some discussion on this newsgroup about netscape, OLE and
delphi before. Has anybody solved the problem with calling the
read-function so far? The declaration in the netscape documentation goes
like this:

short Read(BSTR* pBuffer, short iAmount);

I've tried to translate this into delphi using all sorts of pointers,
typecasting, different types of strings including WideString and so on,
nothing would work.

Any hint would be much appreciated.

Charly