В коде Firefox (Gecko) 3.5 представлено следующее:
[Guid("fa9c7f6c-61b3-11d4-9877-00c04fa0cf4a"), ComImport, InterfaceType(ComInterfaceType.InterfaceIsIUnknown)]
interface nsIInputStream
{
void Close();
int Available();
int Read(IntPtr aBuf, uint aCount);
int ReadSegments(IntPtr aWriter, IntPtr aClosure, uint aCount);
bool IsNonBlocking();
}
Итак, я нахожусь в своем маленьком приложении .Net / C #, желая использовать экземпляр этого, который я возвратил из другого места в моем коде, но у меня возникли проблемы с решением, что делать с int Read(IntPtr aBuf, uint aCount)
способ.
Я хочу заполнить локальный массив byte[]
содержимым, полученным из метода Read
, но я не уверен, что делать с IntPtr или как преобразовать его обратно в массив управляемых байтов.
Какие-нибудь советы / догадки / указатели? (каламбур не предназначен)