2009-09-08 2 views
1

Я знаю про ADODB.Stream object.Есть ли биткомета в COM? Что-то вроде .NET System.IO.Stream.Null?

Но то, что я действительно хочу, является потоком, для которого вызовы Write() не являются операциями. Как System.IO.Stream.Null. Я думаю, ADODB.Stream больше похож на MemoryStream, который накапливает данные в памяти.

И не могу создать экземпляр System.IO.Stream.Null из COM, потому что это статическое свойство класса Stream, таким образом inaccessible from COM. Или я могу? (без написания класса обертки)

+0

Как вы хотите использовать этот пустой поток? ADODB.Stream реализует IStream (стандартный потоковый интерфейс COM), а также удобный интерфейс для обработки сценариев. В зависимости от того, какой тип интерфейса вы хотите использовать, есть разные варианты. –

+1

Вы всегда можете открыть реальный поток файлов до «nul:» –

+0

Я хочу использовать его в скрипте. – Cheeso

ответ

3

Существует такая реализация по умолчанию, как эта. Однако, предполагая, что код, который нуждается в этом потоке, будет использовать интерфейсы IStream, вы можете взять существующий экземпляр IStream и обернуть его в свою собственную реализацию IStream, с вызовами CopyTo/Write, реализованными как no-op. Должно быть относительно тривиально создавать простой COM-объект для такой оболочки.

Смежные вопросы