// // DDDDD EEEEEE AAA DDDDD // D D E A A D D - This has moved to // D D EEEE AAAAA D D staxpt\src\news\core\include. It // D D E A A D D remains here to avoid breaking the build // DDDDD EEEEEE A A DDDDD // /* @doc NNTPSDK */ import "wtypes.idl"; import "ocidl.idl"; import "imsg.idl"; // // @interface INNTPFilter | This interface should be implemented by sink // objects that want to support the NNTP_ON_POST and NNTP_ON_POST_FINAL // events. // // @meth HRESULT | OnPost | The OnPost method is called by the NNTP server // when the NNTP_ON_POST or NNTP_ON_POST_FINAL event occurs. // // @xref // @xref // @xref // @xref // [ helpstring("INNTPFilter"),object,pointer_default(unique), uuid(1826B028-E80A-11d0-B15B-00C04FC2F3B3) ] interface INNTPFilter : IUnknown { // // @method HRESULT | INNTPFilter | OnPost | The NNTP server calls this // method when the NNTP_ON_POST or NNTP_ON_POST_FINAL event is triggered // and passes the rule found in the binding database. // @parm IMsg * | pMessage | [in] A pointer to the IMsg object for the // message which is being posted // @rvalue S_OK | Success, call the next installed sink // @rvalue S_FALSE | Success, don't call any other sink // @rvalue Any COM error code | Failure, don't call any other sinks // @xref // @xref // @xref // @xref // HRESULT OnPost([in] IMsg *pMessage); }; // // @interface INNTPFilterOnPostFinal | This interface should be // implemented by sink objects that want to support the NNTP_ON_POST_FINAL // event. // // @meth HRESULT | OnPostFinal | The OnPostFinal method is called by the // NNTP server when an NNTP_ON_POST_FINAL event occurs. // // @xref // @xref // @xref // @xref // [ helpstring("INNTPFilterOnPostFinal"),object,pointer_default(unique), uuid(1826B030-E80A-11d0-B15B-00C04FC2F3B3) ] interface INNTPFilterOnPostFinal : IUnknown { // // @method HRESULT | INNTPFilterOnPostFinal | OnPostFinal | The NNTP // server calls this method when the NNTP_ON_POST_FINAL event is // triggered and the passes the rule found in the binding database. // @parm IMsg * | pMessage | [in] A pointer to the IMsg object for the // message which is being posted. // @rvalue S_OK | Success, call the next installed sink // @rvalue S_FALSE | Success, don't call any other sinks // @rvalue Any COM error code | Failure, don't call any other sinks // @xref // @xref // @xref // @xref // HRESULT OnPostFinal([in] IMsg *pMessage); }; // // @topic NNTP_SOURCE_TYPE_GUID | // GUID Value = {C028FD82-F943-11d0-85BD-00C04FB960EA} // @head1 Description | This is the source type GUID for NNTP instances. // cpp_quote("// {C028FD82-F943-11d0-85BD-00C04FB960EA}") cpp_quote("DEFINE_GUID(NNTP_SOURCE_TYPE_GUID, ") cpp_quote("0xc028fd82, 0xf943, 0x11d0, 0x85, 0xbd, 0x0, 0xc0, 0x4f, 0xb9, 0x60, 0xea);") // // @topic CATID_NNTP_ON_POST | // GUID Value = {C028FD83-F943-11d0-85BD-00C04FB960EA} // @head1 Description | // This is the GUID that is used for the NNTP_ON_POST event. // // @topic NNTP_ON_POST Event | // The NNTP_ON_POST event is triggered by the NNTP server when a new message // is being posted (either from a client or from a feed), before the message // is processed or put into the store. Filters installed at this point // can control server processing of the message, alter the newgroups // that the message will be posted to, or stop the message from being // posted. // @head3 Filter Object Interfaces | // Filter objects that are bound to the NNTP_ON_POST event must support // the interface. // // @xref // @xref // @xref // cpp_quote("// {C028FD83-F943-11d0-85BD-00C04FB960EA}") cpp_quote("DEFINE_GUID(CATID_NNTP_ON_POST, ") cpp_quote("0xc028fd83, 0xf943, 0x11d0, 0x85, 0xbd, 0x0, 0xc0, 0x4f, 0xb9, 0x60, 0xea);") // // @topic CATID_NNTP_ON_POST_FINAL | // GUID Value = {C028FD83-F943-11d0-85BD-00C04FB960EA} // @head1 Description | // This is the GUID that is used for the NNTP_ON_POST_FINAL event. // // @topic NNTP_ON_POST_FINAL Event | // The NNTP_ON_POST_FINAL event is triggered by the NNTP server when a new // message is being posted (either from a client or from a feed) after the // message has been written into the store. Filters should install at this // point if they require notification of message postings. It is guaranteed // that if this event is triggered that the message has been added to the // store. // @head3 Filter Object Interfaces | // Filter objects that are bound to the NNTP_ON_POST_FINAL event must support // the interface or the interface. // If both interfaces are supported then the server will use the // interface. // // @xref // @xref // @xref // cpp_quote("// {C028FD85-F943-11d0-85BD-00C04FB960EA}") cpp_quote("DEFINE_GUID(CATID_NNTP_ON_POST_FINAL, ") cpp_quote("0xc028fd85, 0xf943, 0x11d0, 0x85, 0xbd, 0x0, 0xc0, 0x4f, 0xb9, 0x60, 0xea);") [ uuid(95786C44-0DED-11d1-85D1-00C04FB960EA), version(1.0), helpstring("nntpfilt 1.0 Type Library") ] library INNTPFilterLib { importlib("stdole2.tlb"); // we need to import the IMsg type library to make sure that we don't // regenerate it. #ifdef EXEXPRESS # ifdef DEBUG # ifdef _X86_ importlib("..\..\..\imsg\ntx\dbg\imsg.tlb"); # else importlib("..\..\..\imsg\nta\dbg\imsg.tlb"); # endif # else # ifdef _X86_ importlib("..\..\..\imsg\ntx\rtl\imsg.tlb"); # else importlib("..\..\..\imsg\nta\rtl\imsg.tlb"); # endif # endif #else importlib("imsg.tlb"); #endif interface INNTPFilter; interface INNTPFilterOnPostFinal; };