подвергается в Firefox (Gecko) после 3.5 Код:Чтение из неуправляемого потока - небезопасный код, IntPtr
[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 или как перевести его обратно в управляемый массив байтов.
Любые советы/догадки/указатели? (Каламбур не предусматривается)
Приветствия, я дам это сообщение и отправлю отчет с результатами –
Я подозреваю, что вам понадобится что-то вроде MarshalAs на aBuf, чтобы сообщить runtime размер буфера для маршала. – liggett78