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.