Custom input formats are developed as COM objects implementing
the methods of the ILogParserInputContext COM interface.
A custom input format implements the methods of this interface by
implementing the ILogParserInputContext interface directly, or by
implementing the IDispatch (Automation) interface exposing the
methods of the ILogParserInputContext interface.
// // Interface GUID // /* 27E78867-48AB-433c-9AFD-9D78D8B1CFC7 */ DEFINE_GUID(IID_ILogParserInputContext, 0x27E78867,0x48AB,0x433C,0x9A, 0xFD, 0x9D, 0x78, 0xD8, 0xB1, 0xCF, 0xC7); //// LogParserInputContext Interface implemented by Log Parser Input plugins and called by Log Parser. // class ILogParserInputContext : public IUnknown { public: enum FieldType { Integer =1, Real =2, String =3, Timestamp =4, Null =5 }; virtual HRESULT STDMETHODCALLTYPE OpenInput( IN BSTR bszFromEntity ) =0; virtual HRESULT STDMETHODCALLTYPE GetFieldCount( OUT DWORD *pnFields ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFieldName( IN DWORD fIndex, OUT BSTR *pbszFieldName ) = 0; virtual HRESULT STDMETHODCALLTYPE GetFieldType( IN DWORD fIndex, OUT DWORD *pnFieldType ) = 0; virtual HRESULT STDMETHODCALLTYPE ReadRecord( OUT VARIANT_BOOL *pbDataAvailable ) =0; virtual HRESULT STDMETHODCALLTYPE GetValue( IN DWORD fIndex, OUT VARIANT *pvarValue ) =0; virtual HRESULT STDMETHODCALLTYPE CloseInput( IN VARIANT_BOOL bAbort ) =0; };
OpenInput Processes the specified from-entity and performs any necessary initialization. GetFieldCount Returns the number of input record fields. GetFieldName Returns the name of an input record field. GetFieldType Returns the type of an input record field. ReadRecord Reads the next input record. GetValue Returns the value of a field in the current input record. CloseInput Releases all the resources and performs any necessary cleanup.
Custom Properties Custom input formats developed as IDispatch COM objects can support custom properties that are controlled at runtime as input format parameters.
© 2004 Microsoft Corporation. All rights reserved.