Seo.Idl
上传用户:dzyhzl
上传日期:2019-04-29
资源大小:56270k
文件大小:191k
- /*
- @doc SEO EVENTS INTERNAL EXTERNAL
- @module SEO.IDL - IDL for Server Extension Objects | This module declares the
- various interfaces and objects exported and used by the Server Extension Objects
- system.
- */
- cpp_quote("/*++")
- cpp_quote("")
- cpp_quote("Copyright (c) 1999 Microsoft Corporation")
- cpp_quote("")
- cpp_quote("Module Name:")
- cpp_quote("")
- cpp_quote(" seo.idl / seo.h")
- cpp_quote("")
- cpp_quote("Abstract:")
- cpp_quote("")
- cpp_quote(" This module contains definitions for the COM interface for")
- cpp_quote(" Server Extension Objects.")
- cpp_quote("")
- cpp_quote("")
- cpp_quote("--*/")
- cpp_quote("#ifndef SEODLLIMPORT")
- cpp_quote(" #define SEODLLIMPORT _declspec(dllimport)")
- cpp_quote("#endif")
- cpp_quote("#ifndef SEODLLEXPORT")
- cpp_quote(" #define SEODLLEXPORT _declspec(dllexport)")
- cpp_quote("#endif")
- cpp_quote("#ifndef SEODLLDEF")
- cpp_quote(" #ifndef SEODLL_IMPLEMENTATION")
- cpp_quote(" #define SEODLLDEF EXTERN_C SEODLLIMPORT")
- cpp_quote(" #else")
- cpp_quote(" #define SEODLLDEF EXTERN_C SEODLLEXPORT")
- cpp_quote(" #endif")
- cpp_quote("#endif")
- cpp_quote("#define BD_OBJECT "Object"")
- cpp_quote("#define BD_PROGID "ProgID"")
- cpp_quote("#define BD_PRIORITY "Priority"")
- cpp_quote("#define BD_RULEENGINE "RuleEngine"")
- cpp_quote("#define BD_EXCLUSIVE "Exclusive"")
- cpp_quote("#define BD_BINDINGS "Bindings"")
- cpp_quote("#define BD_DISPATCHER "Dispatcher"")
- cpp_quote("#define BD_BINDINGPOINTS "BindingPoints"")
- cpp_quote("#define BD_RULE "Rule"")
- /*
- Define priorities
- */
- cpp_quote("#define PRIO_HIGHEST 0")
- cpp_quote("#define PRIO_HIGH 8191")
- cpp_quote("#define PRIO_MEDIUM 16383")
- cpp_quote("#define PRIO_LOW 24575")
- cpp_quote("#define PRIO_LOWEST 32767")
- cpp_quote("#define PRIO_DEFAULT PRIO_LOW")
- cpp_quote("#define PRIO_HIGHEST_STR L"PRIO_HIGHEST"")
- cpp_quote("#define PRIO_HIGH_STR L"PRIO_HIGH"")
- cpp_quote("#define PRIO_MEDIUM_STR L"PRIO_MEDIUM"")
- cpp_quote("#define PRIO_LOW_STR L"PRIO_LOW"")
- cpp_quote("#define PRIO_LOWEST_STR L"PRIO_LOWEST"")
- cpp_quote("#define PRIO_DEFAULT_STR L"PRIO_DEFAULT"")
- cpp_quote("#define PRIO_MIN PRIO_HIGHEST")
- cpp_quote("#define PRIO_MAX PRIO_LOWEST")
- //@doc SEO
- /*
- @interface ISEODictionaryItem | General-purpose access to a single dictionary item. This interface
- is derived from IDispatch (i.e. it is a dual interface). This is the interface returned for any
- multi-value item in a dictionary.
- @meth HRESULT | Value [propget] | Get the value (by optional index).
- @meth HRESULT | AddValue | Add a value by index.
- @meth HRESULT | DeleteValue | Delete a value by index.
- @meth HRESULT | Count [propget] | Get the count of values.
- @meth HRESULT | GetStringA | Get the value by index as an ANSI string.
- @meth HRESULT | GetStringW | Get the value by index as a Unicode string.
- @meth HRESULT | AddStringA | Add a value by index as an ANSI string.
- @meth HRESULT | AddStringW | Add a value by index as a Unicode string.
- @xref <i ISEODictionary>
- */
- [
- dual,
- helpstring("SEOCOM dictionary item (OA-compatible)"),
- hidden,
- object,
- pointer_default(unique),
- uuid(16d63630-83ae-11d0-a9e3-00aa00685c74)
- ]
- interface ISEODictionaryItem : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | ISEODictionaryItem | Value [propget] | Get the value (by optional index).
- //@parm VARIANT * | pvarIndex | [in,optional] Specifies the (zero-based) index
- // from which to retrieve the value. If NULL, or if pvarIndex->vt==VT_ERROR, then an index of
- // zero is assumed.
- //@parm VARIANT * | pvarResult | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT | Failure, the index was too large.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem> <om ISEODictionaryItem.AddValue> <om ISEODictionaryItem.DeleteValue>
- [helpstring("Get the value (by optional index)"),propget,id(DISPID_VALUE)]
- HRESULT Value([in,optional] VARIANT *pvarIndex,
- [out,retval] VARIANT *pvarResult);
- //@method HRESULT | ISEODictionaryItem | AddValue | Add a value by index.
- //@parm VARIANT * | pvarIndex | [in] Specifies the (zero-based) index at which to place the value. If the
- // index is greater than the count, then the index is treated as being equal to the count (i.e. any
- // attempt to add an item past the last item results in the item becoming the new last item.)
- //@parm VARIANT * | pvarValue | [in] Specifies the value.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem> <om ISEODictionaryItem.Value [propget]> <om ISEODictionaryItem.DeleteValue>
- [helpstring("Add a value by index.")]
- HRESULT AddValue([in] VARIANT *pvarIndex, [in] VARIANT *pvarValue);
- //@method HRESULT | ISEODictionaryItem | DeleteValue | Remove a value by index.
- //@parm VARIANT * | pvarIndex | [in] Specifies the (zero-based) index of the item to delete.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT | Failure, the index was too large.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem> <om ISEODictionaryItem.Value [propget]> <om ISEODictionaryItem.AddValue>
- [helpstring("Remove a value by index.")]
- HRESULT DeleteValue([in] VARIANT *pvarIndex);
- //@method HRESULT | ISEODictionaryItem | Count [propget] | Get the count of values.
- //@parm VARIANT * | pvarResult | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem>
- [helpstring("Get the count of values."),propget]
- HRESULT Count([out,retval] VARIANT *pvarResult);
- //@method HRESULT | ISEODictionaryItem | GetStringA | Get the value by index as an ANSI string.
- //@parm DWORD | dwIndex | [in] Specifies the (zero-based) index.
- //@parm DWORD * | pchCount | [in,out] Specifies the total number of characters in the buffer, and receives
- // the total number of characters copied (including the terminating NULL).
- //@parm LPSTR | pszResult | [out,size_is(*pchCount)] Receives the value. May be NULL, in which
- // case *pchCount will receive the total number of characters in the value (including the terminating NULL).
- //@rvalue S_OK | Success. *pchCount has the total number of characters stored, including the termimating
- // NULL. If pszResult was NULL, then *pchCount has the total number of characters in the value (including
- // the terminating NULL).
- //@rvalue SEO_S_MOREDATA | Success. The buffer was not large enough to contain all of the data - the
- // maximum amount that could fit was copied into the buffer along with a terminating NULL, and
- // *pchCount contains the number of characters stored (including the terminating NULL).
- //@rvalue SEO_E_NOTPRESENT. | Failure, the index was too large.
- //@rvalue SEO_E_BADTYPE | Failure, the item is not of the requested type.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem> <om ISEODictionaryItem.GetStringW>
- [helpstring("Get the value by index as an ANSI string.")]
- HRESULT GetStringA([in] DWORD dwIndex,
- [in,out] DWORD *pchCount,
- [out,size_is(*pchCount)] LPSTR pszResult);
- //@method HRESULT | ISEODictionaryItem | GetStringW | Get the value by index as a Unicode string.
- //@parm DWORD | dwIndex | [in] Specifies the (zero-based) index.
- //@parm DWORD * | pchCount | [in,out] Specifies the total number of characters in the buffer, and receives
- // the total number of characters copied (including the terminating NULL).
- //@parm LPWSTR | pszResult | [out,size_is(*pchCount)] Receives the value. May be NULL, in which
- // case *pchCount will receive the total number of characters in the value (including the terminating NULL).
- //@rvalue S_OK | Success. *pchCount has the total number of characters stored, including the termimating
- // NULL. If pszResult was NULL, then *pchCount has the total number of characters in the value (including
- // the terminating NULL).
- //@rvalue SEO_S_MOREDATA | Success. The buffer was not large enough to contain all of the data - the
- // maximum amount that could fit was copied into the buffer along with a terminating NULL, and
- // *pchCount contains the number of characters stored (including the terminating NULL).
- //@rvalue SEO_E_NOTPRESENT. | Failure, the index was too large.
- //@rvalue SEO_E_BADTYPE | Failure, the item is not of the requested type.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem> <om ISEODictionaryItem.GetStringA>
- [helpstring("Get the value by index as a Unicode string.")]
- HRESULT GetStringW([in] DWORD dwIndex,
- [in,out] DWORD *pchCount,
- [out,size_is(*pchCount)] LPWSTR pszResult);
- //@method HRESULT | ISEODictionaryItem | AddStringA | Add a value by index as an ANSI string.
- //@parm DWORD | dwIndex | [in] Specifies the (zero-based) index.
- //@parm LPCSTR | pszValue | [in] Specifies the value (NULL-terminated). May not be NULL - use
- // DeleteValue() to remove a value.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem> <om ISEODictionaryItem.DeleteValue> <om ISEODictionaryItem.AddStringW>
- [helpstring("Add a value by index as an ANSI string.")]
- HRESULT AddStringA([in] DWORD dwIndex,
- [in] LPCSTR pszValue);
- //@method HRESULT | ISEODictionaryItem | AddStringW | Add a value by index as a Unicode string.
- //@parm DWORD | dwIndex | [in] Specifies the (zero-based) index.
- //@parm LPCWSTR | pszValue | [in] Specifies the value (NULL-terminated). May not be NULL - use
- // DeleteValue() to remove a value.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed as a parameter.
- //@xref <i ISEODictionaryItem> <om ISEODictionaryItem.DeleteValue> <om ISEODictionaryItem.AddStringA>
- [helpstring("Add a value by index as a Unicode string.")]
- HRESULT AddStringW([in] DWORD dwIndex,
- [in] LPCWSTR pszValue);
- };
- //@doc SEO
- /*
- @interface ISEODictionary | General-purpose access to name-value pairs. This interface
- is derived from IDispatch (i.e. it is a dual interface) and provides some methods which
- are automation-compatible (for use by scripts) and incompatible (for higher performance).
- @meth HRESULT | Item [propget] | Get a value (OA-compatible).
- @meth HRESULT | Item [propput] | Set a value (OA-compatible).
- @meth HRESULT | _NewEnum [propget] | Get an enumerator (OA-compatible).
- @meth HRESULT | GetVariantA | Query by ANSI name for a VARIANT (high performance).
- @meth HRESULT | GetVariantW | Query by Unicode name for a VARIANT (high performance).
- @meth HRESULT | SetVariantA | Set a VARIANT by ANSI name (high performance).
- @meth HRESULT | SetVariantW | Set a VARIANT by Unicode name (high performance).
- @meth HRESULT | GetStringA | Query by ANSI name for an ANSI string (high performance).
- @meth HRESULT | GetStringW | Query by Unicode name for a Unicode string (high performance).
- @meth HRESULT | SetStringA | Set an ANSI string by ANSI name (high performance).
- @meth HRESULT | SetStringW | Set a Unicode string by Unicode name (high performance).
- @meth HRESULT | GetDWordA | Query by ANSI name for a DWORD (high performance).
- @meth HRESULT | GetDWordW | Query by Unicode name for a DWORD (high performance).
- @meth HRESULT | SetDWordA | Set a DWORD by ANSI name (high performance).
- @meth HRESULT | SetDWordW | Set a DWORD by Unicode name (high performance).
- @meth HRESULT | GetInterfaceA | Query by ANSI name for an interface (high performance).
- @meth HRESULT | GetInterfaceW | Query by Unicode name for an interface (high performance).
- @meth HRESULT | SetInterfaceA | Set an interface by ANSI name (high performance).
- @meth HRESULT | SetInterfaceW | Set an interface by Unicode name (high performance).
- @xref <i ISEODictionaryItem>
- */
- [
- dual,
- helpstring("SEOCOM dictionary (OA-compatible)."),
- hidden,
- object,
- pointer_default(unique),
- uuid(d8177b40-7bac-11d0-a9e0-00aa00685c74)
- ]
- interface ISEODictionary : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | ISEODictionary | Item [propget] | Get an item (OA-compatible.
- //@parm VARIANT * | pvarName | [in] Specifies the name.
- //@parm VARIANT * | pvarResult | [out,retval] Receives the value.
- //@rvalue S_OK | Success. If pvarResult->vt==VT_EMPTY, then the item was not present.
- //@rvalue E_INVALIDARG | Failure, pvarName couldn't be converted to a string.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.Item [propput]>
- [helpstring("Get a value."),id(DISPID_VALUE),propget]
- HRESULT Item([in] VARIANT *pvarName,
- [out,retval] VARIANT *pvarResult);
- //@method HRESULT | ISEODictionary | Item [propput] | Put a value (OA-compatible).
- //@parm VARIANT * | pvarName | [in] Specifies the name.
- //@parm VARIANT * | pvarResult | [in] Specifies the new value. May be NULL or VT_EMPTY to remove the item.
- //@rvalue S_OK | Success.
- //@rvalue E_INVALIDARG | Failure, pvarName couldn't be converted to a string.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.Item [propget]>
- [helpstring("Put a value."),propput]
- HRESULT Item([in] VARIANT *pvarName,
- [in] VARIANT *pvarValue);
- //@method HRESULT | ISEODictionary | _NewEnum [propget] | Get an enumerator (OA-compatible). This
- // function allows enumeration of the names of the values in the dictionary.
- //@parm IUnknown ** | ppunkResult | [out,retval] Receives the enumerator. This object will implement
- // the IEnumVARIANT interface, and each call to the Next() method on this object will return the
- // next names of values in the dictionary.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary>
- [helpstring("Get an enumerator."),id(DISPID_NEWENUM),propget,hidden]
- HRESULT _NewEnum([out,retval] IUnknown **ppunkResult);
- //@method HRESULT | ISEODictionary | GetVariantA | Query by ANSI name for a VARIANT (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm VARIANT * | pvarResult | [out,retval] Receives the value.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.GetVariantW> <om ISEODictionary.SetVariantA>
- // <om ISEODictionary.SetVariantW>
- [helpstring("Query by ANSI name for a VARIANT.")]
- HRESULT GetVariantA([in] LPCSTR pszName,
- [out,retval] VARIANT *pvarResult);
- //@method HRESULT | ISEODictionary | GetVariantW | Query by Unicode name for a VARIANT (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm VARIANT * | pvarResult | [out,retval] Receives the value.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.GetVariantA> <om ISEODictionary.SetVariantA>
- // <om ISEODictionary.SetVariantW>
- [helpstring("Query by Unicode name for a VARIANT.")]
- HRESULT GetVariantW([in] LPCWSTR pszName,
- [out,retval] VARIANT *pvarResult);
- //@method HRESULT | ISEODictionary | SetVariantA | Set a VARIANT by ANSI name (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm VARIANT * | pvarResult | [in] Specifies the value. May be NULL or V_EMPTY to remove the item.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.GetVariantA> <om ISEODictionary.GetVariantW>
- // <om ISEODictionary.SetVariantW>
- [helpstring("Set a VARIANT by ANSI name.")]
- HRESULT SetVariantA([in] LPCSTR pszName,
- [in] VARIANT *pvarValue);
- //@method HRESULT | ISEODictionary | SetVariantW | Set a VARIANT by Unicode name (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm VARIANT * | pvarResult | [in] Specifies the value. May be NULL or V_EMPTY to remove the item.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.GetVariantA> <om ISEODictionary.GetVariantW>
- // <om ISEODictionary.SetVariantA>
- [helpstring("Set a VARIANT by Unicode name.")]
- HRESULT SetVariantW([in] LPCWSTR pszName,
- [in] VARIANT *pvarValue);
- //@method HRESULT | ISEODictionary | GetStringA | Query by ANSI name for an ANSI string (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm DWORD * | pchCount | [in,out] Specifies the total number of characters in the buffer, and receives
- // the total number of characters copied (including the terminating NULL).
- //@parm LPSTR | pszResult | [out,size_is(*pchCount)] Receives the value.
- //@rvalue S_OK | Success. *pchCount has the total number of characters stored, including the termimating NULL.
- //@rvalue SEO_S_MOREDATA | Success. The buffer was not large enough to contain all of the data - the
- // maximum amount that could fit was copied into the buffer along with a terminating NULL, and
- // *pchCount contains the number of characters stored (including the terminating NULL).
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue SEO_E_BADTYPE | Failure, the item it present but is not of the requested type.
- //@xref <i ISEODictionary> <om ISEODictionary.GetStringW> <om ISEODictionary.SetStringA>
- // <om ISEODictionary.SetStringW>
- [helpstring("Query by ANSI name for an ANSI string.")]
- HRESULT GetStringA([in] LPCSTR pszName,
- [in,out] DWORD *pchCount,
- [out,size_is(*pchCount)] LPSTR pszResult);
- //@method HRESULT | ISEODictionary | GetStringW | Query by Unicode name for a Unicode string (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm DWORD * | pchCount | [in,out] Specifies the total number of characters in the buffer, and receives
- // the total number of characters copied (including the terminating NULL).
- //@parm LPWSTR | pszResult | [out,size_is(*pchCount)] Receives the value.
- //@rvalue S_OK | Success. *pchCount has the total number of characters stored, including the termimating NULL.
- //@rvalue SEO_S_MOREDATA | Success. The buffer was not large enough to contain all of the data - the
- // maximum amount that could fit was copied into the buffer along with a terminating NULL, and
- // *pchCount contains the number of characters stored (including the terminating NULL).
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue SEO_E_BADTYPE | Failure, the item it present but is not of the requested type.
- //@xref <i ISEODictionary> <om ISEODictionary.GetStringA> <om ISEODictionary.SetStringA>
- // <om ISEODictionary.SetStringW>
- [helpstring("Query by Unicode name for a Unicode string.")]
- HRESULT GetStringW([in] LPCWSTR pszName,
- [in,out] DWORD *pchCount,
- [out,size_is(*pchCount)] LPWSTR pszResult);
- //@method HRESULT | ISEODictionary | SetStringA | Set an ANSI string by ANSI name (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm DWORD | chCount | [in] Specifies the number of characters in the string, including the
- // terminating NULL. (Use the SetVariantA() method to remove an item.)
- //@parm LPCSTR | pszValue | [in,size_is(chCount)] Specifies the value.
- //@xref <i ISEODictionary> <om ISEODictionary.SetVariantA> <om ISEODictionary.GetStringA>
- // <om ISEODictionary.GetStringW> <om ISEODictionary.SetStringW>
- [helpstring("Set an ANSI string by ANSI name.")]
- HRESULT SetStringA([in] LPCSTR pszName,
- [in] DWORD chCount,
- [in,size_is(chCount)] LPCSTR pszValue);
- //@method HRESULT | ISEODictionary | SetStringW | Set a Unicode string by Unicode name (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm DWORD | chCount | [in] Specifies the number of characters in the string, including the
- // terminating NULL. (Use the SetVariantW() method to remove an item.)
- //@parm LPCWSTR | pszValue | [in,size_is(chCount)] Specifies the value.
- //@xref <i ISEODictionary> <om ISEODictionary.SetVariantW> <om ISEODictionary.GetStringA>
- // <om ISEODictionary.GetStringW> <om ISEODictionary.SetStringA>
- [helpstring("Set a Unicode string by Unicode name.")]
- HRESULT SetStringW([in] LPCWSTR pszName,
- [in] DWORD chCount,
- [in,size_is(chCount)] LPCWSTR pszValue);
- //@method HRESULT | ISEODictionary | GetDWordA | Query by ANSI name for a DWORD (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm DWORD * | pdwResult | [out,retval] Receives the value.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue SEO_E_BADTYPE | Failure, the item it present but is not of the requested type.
- //@xref <i ISEODictionary> <om ISEODictionary.GetDWordW> <om ISEODictionary.SetDWordA>
- // <om ISEODictionary.SetDWordW>
- [helpstring("Query by ANSI name for a DWORD.")]
- HRESULT GetDWordA([in] LPCSTR pszName,
- [out,retval] DWORD *pdwResult);
- //@method HRESULT | ISEODictionary | GetDWordW | Query by Unicode name for a DWORD (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm DWORD * | pdwResult | [out,retval] Receives the value.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue SEO_E_BADTYPE | Failure, the item it present but is not of the requested type.
- //@xref <i ISEODictionary> <om ISEODictionary.GetDWordA> <om ISEODictionary.SetDWordA>
- // <om ISEODictionary.SetDWordW>
- [helpstring("Query by Unicode name for a DWORD.")]
- HRESULT GetDWordW([in] LPCWSTR pszName,
- [out,retval] DWORD *pdwResult);
- //@method HRESULT | ISEODictionary | SetDWordA | Set a DWORD by ANSI name (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm DWORD | dwValue | [in] Specifies the value. (Use the SetVariantA() method to remove an item.)
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.SetVariantA> <om ISEODictionary.GetDWordA>
- // <om ISEODictionary.GetDWordW> <om ISEODictionary.SetDWordW>
- [helpstring("Set a DWORD by ANSI name.")]
- HRESULT SetDWordA([in] LPCSTR pszName,
- [in] DWORD dwValue);
- //@method HRESULT | ISEODictionary | SetDWordW | Set a DWORD by Unicode name (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm DWORD | dwValue | [in] Specifies the value. (Use the SetVariantW() method to remove an item.)
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.SetVariantW> <om ISEODictionary.GetDWordA>
- // <om ISEODictionary.GetDWordW> <om ISEODictionary.SetDWordA>
- [helpstring("Set a DWORD by Unicode name.")]
- HRESULT SetDWordW([in] LPCWSTR pszName,
- [in] DWORD dwValue);
- //@method HRESULT | ISEODictionary | GetInterfaceA | Query by ANSI name for an interface (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm REFIID | iidDesired | [in] Specifies the IID of the desired interface.
- //@parm IUnknown ** | ppunkResult | [out,iid_is(iidDesired),retval] Receives the value.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue E_NOINTERFACE | Failure, the item is present but does not support the desired interface.
- //@xref <i ISEODictionary> <om ISEODictionary.GetInterfaceW> <om ISEODictionary.SetInterfaceA>
- // <om ISEODictionary.SetInterfaceW>
- [helpstring("Query by ANSI name for an interface.")]
- HRESULT GetInterfaceA([in] LPCSTR pszName,
- [in] REFIID iidDesired,
- [out,iid_is(iidDesired),retval] IUnknown **ppunkResult);
- //@method HRESULT | ISEODictionary | GetInterfaceW | Query by Unicode name for an interface (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm REFIID | iidDesired | [in] Specifies the IID of the desired interface.
- //@parm IUnknown ** | ppunkResult | [out,iid_is(iidDesired),retval] Receives the value.
- //@rvalue S_OK | Success.
- //@rvalue SEO_E_NOTPRESENT. | Failure, the item is not present.
- //@rvalue SEO_E_BADTYPE | Failure, the item it present but is not of the requested type.
- //@rvalue E_NOINTERFACE | Failure, the item is present but does not support the desired interface.
- //@xref <i ISEODictionary> <om ISEODictionary.GetInterfaceA> <om ISEODictionary.SetInterfaceA>
- // <om ISEODictionary.SetInterfaceW>
- [helpstring("Query by Unicode name for an interface.")]
- HRESULT GetInterfaceW([in] LPCWSTR pszName,
- [in] REFIID iidDesired,
- [out,iid_is(iidDesired),retval] IUnknown **ppunkResult);
- //@method HRESULT | ISEODictionary | SetInterfaceA | Set an interface by ANSI name (high performance).
- //@parm LPCSTR | pszName | [in] Specifies the name.
- //@parm IUnknown * | punkValue | [in,unique] Specifies the value. (Use the SetVariantA() method to remove an item.)
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.SetVariantA> <om ISEODictionary.GetInterfaceA>
- // <om ISEODictionary.GetInterfaceW> <om ISEODictionary.SetInterfaceW>
- [helpstring("Set an interface by ANSI name.")]
- HRESULT SetInterfaceA([in] LPCSTR pszName,
- [in,unique] IUnknown *punkValue);
- //@method HRESULT | ISEODictionary | SetInterfaceW | Set an interface by Unicode name (high performance).
- //@parm LPCWSTR | pszName | [in] Specifies the name.
- //@parm IUnknown * | punkValue | [in,unique] Specifies the value. (Use the SetVariantW() method to remove an item.)
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@xref <i ISEODictionary> <om ISEODictionary.SetVariantW> <om ISEODictionary.GetInterfaceA>
- // <om ISEODictionary.GetInterfaceW> <om ISEODictionary.SetInterfaceA>
- [helpstring("Set an interface by Unicode name.")]
- HRESULT SetInterfaceW([in] LPCWSTR pszName,
- [in,unique] IUnknown *punkValue);
- };
- //@doc EVENTS INTERNAL
- /*
- @interface IEventLock | Contention control. This interface provides methods for controlling
- multi-threaded access to an object, and supports a multi-reader/single-writer model.
- @meth HRESULT | LockRead | Lock the object for reading.
- @meth HRESULT | UnlockRead | Reverse the effects of LockRead.
- @meth HRESULT | LockWrite | Lock the object for writing.
- @meth HRESULT | UnlockWrite | Reverse the effects of LockWrite.
- */
- [
- dual,
- helpstring("IEventLock."),
- object,
- pointer_default(unique),
- hidden,
- uuid(1b7058f0-af88-11d0-a9eb-00aa00685c74)
- ]
- interface IEventLock : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventLock | LockRead | Lock the object for reading. Read locks prevent write
- // locks, but do not prevent other read locks.
- //@parm int | iTimeoutMS | [in] The number of milliseconds to wait before timing out. Use the value
- // INFINITE for no timeout.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_E_TIMEOUT | Failure, the timeout expired.
- //@xref <i IEventLock> <om IEventLock.UnlockRead> <om IEventLock.LockWrite>
- [helpstring("Lock for reading.")]
- HRESULT LockRead([in] int iTimeoutMS);
- //@method HRESULT | IEventLock | UnlockRead | Reverse the effects of LockRead.
- //@rvalue S_OK | Success.
- //@xref <i IEventLock> <om IEventLock.LockRead>
- [helpstring("Reverse the effects of a call to LockRead.")]
- HRESULT UnlockRead();
- //@method HRESULT | IEventLock | LockWrite | Lock the object for writing. Write locks prevent both
- // read locks and write locks.
- //@parm int | iTimeoutMS | [in] The number of milliseconds to wait before timing out. Use the value
- // INFINITE for no timeout.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_E_TIMEOUT | Failure, the timeout expired.
- //@xref <i IEventLock> <om IEventLock.UnlockWrite> <om IEventLock.LockRead>
- [helpstring("Lock for writing.")]
- HRESULT LockWrite([in] int iTimeoutMS);
- //@method HRESULT | IEventLock | UnlockWrite | Reverse the effects of LockWrite.
- //@rvalue S_OK | Success.
- //@xref <i IEventLock> <om IEventLock.LockWrite>
- [helpstring("Reverse the effects of a call to LockWrite.")]
- HRESULT UnlockWrite();
- };
- //@doc SEO
- /*
- @interface ISEORouter | Event router. This object is the primary interface of the handle returned by
- SEOInit().
- @meth HRESULT | Database [propget] | Get the binding database.
- @meth HRESULT | Database [propput] | Set the binding database.
- @meth HRESULT | Server [propget] | Get the server object.
- @meth HRESULT | Server [propput] | Set the server object.
- @meth HRESULT | Applications [propget] | Get the collection of application objects.
- @meth HRESULT | GetDispatcher | Get the dispatcher for a binding point.
- @meth HRESULT | GetDispatcherByCLSID | Get the dispatcher for a binding point.
- */
- [
- helpstring("SEOCOM event router"),
- hidden,
- object,
- pointer_default(unique),
- uuid(2b6ac0f0-7e03-11d0-a9e0-00aa00685c74)
- ]
- interface ISEORouter : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | ISEORouter | Database [propget] | Get the binding database.
- //@parm ISEODictionary ** | ppdictResult | [out,retval] Receives the value. Will be NULL if the value has
- // never been set.
- //@rvalue S_OK | Success.
- //@xref <i ISEORouter> <om ISEORouter.Database [propput]>
- [helpstring("Get the binding database."),propget]
- HRESULT Database([out,retval] ISEODictionary **ppdictResult);
- //@method HRESULT | ISEORouter | Database [propput] | Set the binding database.
- //@parm ISEODictionary * | pdictDatabase | [in,unique] Specifies the value.
- //@rvalue S_OK | Success.
- //@xref <i ISEORouter> <om ISEORouter.Database [propget]>
- [helpstring("Set the binding database."),propput]
- HRESULT Database([in,unique] ISEODictionary *pdictDatabase);
- //@method HRESULT | ISEORouter | Server [propget] | Get the server object.
- //@parm ISEODictionary ** | ppdictResult | [out,retval] Receives the value. Will be NULL if the
- // value has never been set.
- //@rvalue S_OK | Success.
- //@xref <i ISEORouter> <om ISEORouter.Server [propput]>
- [helpstring("Get the server object."),propget]
- HRESULT Server([out,retval] ISEODictionary **ppdictResult);
- //@method HRESULT | ISEORouter | Server [propput] | Set the server object.
- //@parm ISEODictionary * | pdictServer | [in,unique] Specifies the value.
- //@rvalue S_OK | Success.
- //@xref <i ISEORouter> <om ISEORouter.Server [propget]>
- [helpstring("Set the server object."),propput]
- HRESULT Server([in,unique] ISEODictionary *pdictServer);
- //@method HRESULT | ISEORouter | Applications [propget] | Get the collection of application objects. The
- // collection is represented as an ISEODictionary, where the name of each property in the dictionary is
- // the name of the application, and the value of each property is itself an ISEODictionary.
- //@parm ISEODictionary ** | ppdictResult | [out,retval] Receives the value.
- //@rvalue S_OK | Success.
- //@rvalue E_POINTER | Failure, bad pointer value.
- //@xref <i ISEORouter> <i ISEODictionary>
- [helpstring("Get the application collection."),propget]
- HRESULT Applications([out,retval] ISEODictionary **ppdictResult);
- //@method HRESULT | ISEORouter | GetDispatcher | Get the dispatcher for an event type. If the
- // dispatcher is present in the cache, then the cached instance is returned. If it is not present
- // in the cache, then a new one is created - if the newly created instance supports the
- // ISEODispatcher interface, then ISEODispatcher::SetContext is called on the newly created instance
- // before the object is returned to the client.
- //@parm REFIID | iidEvent | [in] Specifies the type of event.
- //@parm REFIID | iidDesired | [in] Specifies the interface desired.
- //@parm IUnknown ** | ppUnkResult | [out,iid_is(iidDesired),retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, there are no bindings for this event (*ppUnkResult is NULL).
- //@rvalue E_POINTER | Failure, bad pointer value.
- [helpstring("Get the dispatcher for an event type.")]
- HRESULT GetDispatcher([in] REFIID iidEvent,
- [in] REFIID iidDesired,
- [out,iid_is(iidDesired),retval] IUnknown **ppUnkResult);
- //@method HRESULT | ISEORouter | GetDispatcherByCLSID | Get the dispatcher for an event type. If the
- // dispatcher is present in the cache, then the cached instance is returned. If it is not present
- // in the cache, then a new one is created - if the newly created instance supports the
- // ISEODispatcher interface, then ISEODispatcher::SetContext is called on the newly created instance
- // before the object is returned to the client.
- //@parm REFCLSID | clsidDispatcher | [in] Specifies the CLSID of the dispatcher to load.
- //@parm REFIID | iidEvent | [in] Specifies the type of event.
- //@parm REFIID | iidDesired | [in] Specifies the interface desired.
- //@parm IUnknown ** | ppUnkResult | [out,iid_is(iidDesired),retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, there are no bindings for this event (*ppUnkResult is NULL).
- //@rvalue E_POINTER | Failure, bad pointer value.
- [helpstring("Get the dispatcher for an event type.")]
- HRESULT GetDispatcherByCLSID([in] REFCLSID clsidDispatcher,
- [in] REFIID iidEvent,
- [in] REFIID iidDesired,
- [out,iid_is(iidDesired),retval] IUnknown **ppUnkResult);
- };
- //@doc SEO
- /*
- @interface IMCISMessageFilter | MCIS message filter. This interface is exposed by MCIS extension
- objects which want to be notified about mail and news messages.
- @meth HRESULT | OnMessage | Handle a message from the mail or news server.
- */
- [
- helpstring("SEOCOM MCIS message filter."),
- hidden,
- object,
- pointer_default(unique),
- uuid(f174e5b0-9046-11d0-a9e8-00aa00685c74)
- ]
- interface IMCISMessageFilter : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IMCISMessageFilter | OnMessage | Handle a message from the mail or news server.
- //@parm IStream * | pstreamMessage | [in,unique] The message which was received.
- //@parm ISEODictionary * | pdictEnvelope | [in,unique] Envelope data for the message.
- //@parm ISEODictionary * | pdictBinding | [in,unique] The binding being signaled.
- //@rvalue S_OK | Success.
- //@rvalue SEO_S_DONEPROCESSING | Success, the message should not be handed to any other extension objects
- // at this binding point.
- //@xref <i ISEODictionary>
- HRESULT OnMessage([in,unique] IStream *pstreamMessage,
- [in,unique] ISEODictionary *pdictEnvelope,
- [in,unique] ISEODictionary *pdictBinding);
- };
- //@doc SEO
- /*
- @interface ISEOBindingRuleEngine | Evaluates events against rules.
- @meth HRESULT | Evaluate | Evaluate the event against the rule.
- */
- [
- helpstring("SEOCOM Rule Engine"),
- hidden,
- object,
- pointer_default(unique),
- uuid(f2d1daf0-2236-11d0-a9ce-00aa00685c74)
- ]
- interface ISEOBindingRuleEngine : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | ISEOBindingRuleEngine | Evaluate | Evaluate the event against the rule.
- //@parm ISEODictionary * | pdictEvent | [in,unique] Specifies the event.
- //@parm ISEODictionary * | pdictBinding | [in,unique] Specified the binding being checked.
- //@rvalue S_OK | Success, the rule evaluated to TRUE.
- //@rvalue S_FALSE | Success, the rule evaluated to FALSE.
- //@xref <i ISEODictionary>
- [helpstring("Evaluate the event against the rule.")]
- HRESULT Evaluate([in,unique] ISEODictionary *pdictEvent,
- [in,unique] ISEODictionary *pdictBinding);
- };
- //@doc SEO
- /*
- @interface ISEOEventSink | Sinks events.
- @meth HRESULT | OnEvent | Sink an event.
- */
- [
- helpstring("SEOCOM Event Notification"),
- hidden,
- object,
- pointer_default(unique),
- uuid(1cab4c20-94f4-11d0-a9e8-00aa00685c74)
- ]
- interface ISEOEventSink : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | ISEOEventSink | OnEvent | Sink an event.
- //@rvalue S_OK | Success.
- //@rvalue SEO_S_CANCELLISTEN | Success, this event should not be fired again.
- [helpstring("Handles an event.")]
- HRESULT OnEvent();
- };
- [
- helpstring("SEOCOM extended ISEODictionary, implemented on the registry"),
- object,
- pointer_default(unique),
- uuid(347cacb0-2d1e-11d0-a9cf-00aa00685c74)
- ]
- interface ISEORegDictionary : ISEODictionary
- {
- import "wtypes.idl";
- import "ocidl.idl";
- typedef SIZE_T SEO_HKEY;
- [helpstring("Sets the machine, base registry key, and subkey.")]
- HRESULT Load([in] LPCOLESTR pszMachine,
- [in] SEO_HKEY skBaseKey,
- [in] LPCOLESTR pszSubKey,
- [in,unique] IErrorLog *pErrorLog);
- };
- [
- helpstring("SEOCOM Converter for Event Binding Data"),
- object,
- pointer_default(unique),
- uuid(ee4e64d0-31f1-11d0-a9d0-00aa00685c74)
- ]
- interface ISEOBindingConverter : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- [helpstring("Converts event data.")]
- HRESULT Convert([in] LONG lEventData, [out,retval] ISEODictionary **ppiResult);
- };
- //@doc SEO
- /*
- @interface ISEODispatcher | Dispatches an event.
- @meth HRESULT | SetContext | Sets the object's context.
- */
- [
- helpstring("SEOCOM Binding Dispatcher"),
- hidden,
- object,
- pointer_default(unique),
- uuid(8ca89880-31f1-11d0-a9d0-00aa00685c74)
- ]
- interface ISEODispatcher : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | ISEODispatcher | SetContext | Sets the object's context.
- //@parm ISEORouter * | piRouter | [in,unique] Specifies the router.
- //@parm ISEODictionary * | pdictBP | [in,unique] Specifies the dictionary for the binding point.
- [helpstring("Sets the object's context.")]
- HRESULT SetContext([in,unique] ISEORouter *piRouter, [in,unique] ISEODictionary *pdictBP);
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventDeliveryOptions | Provides access to event delivery options. ****_TBD_****
- */
- [
- dual,
- helpstring("Provides access to event delivery options."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(0688a660-a3ff-11d0-a9e9-00aa00685c74)
- ]
- interface IEventDeliveryOptions : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventTypeSinks | Provides access to a collection of sinks for an event type.
- Objects of this type are returned by the IEventType::Sinks [propget] method. This object is
- intended to provide automation-compatible access to the PROGID's of classes which are registered
- in the component category matching the event type.
- @meth HRESULT | Item | Get a sink.
- @meth HRESULT | Add | Add a sink.
- @meth HRESULT | Remove | Remove a sink.
- @meth HRESULT | Count [propget] | Get the count of the sinks.
- @meth HRESULT | _NewEnum [propget] | Get an enumerator for the sinks.
- @xref <om IEventType::Sinks [propget]> <i IEventType>
- */
- [
- dual,
- helpstring("Provides access to a collection of sinks for an event type."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(a1063f50-a654-11d0-a9ea-00aa00685c74)
- ]
- interface IEventTypeSinks : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventTypeSinks | Item | Get a sink. This method returns one of the PROGID's
- // for sinks registered in the component category of the event type.
- //@parm long | lIndex | [in] Specifies the sink to get. This is the one-based index into the
- // collection.
- //@parm BSTR * | pstrTypeSink | [out,retval] Receives the result. This will be the PROGID of
- // the sink.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the index is out of bounds. *pstrTypeSink is set to NULL.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get a sink."),id(DISPID_VALUE)]
- HRESULT Item([in] long lIndex, [out,retval] BSTR *pstrTypeSink);
- //@method HRESULT | IEventTypeSinks | Add | Add a sink. This method causes methods on the
- // ICatRegister interface to be called, in order to register the sink into the component
- // category for the event type.
- //@parm BSTR | pszTypeSink | [in] Specifies the PROGID of the sink to register.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the sink was already registered.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Add a sink.")]
- HRESULT Add([in] BSTR pszTypeSink);
- //@method HRESULT | IEventTypeSinks | Remove | Remove a sink. This method causes methods on the
- // ICatRegister interface to be called, in order to unregister the sink from the component
- // category for the event type.
- //@parm BSTR | pszTypeSink | [in] Specifies the PROGID of the sink to unregister.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_OK_ALREADYUNREGISTERED | Success, the sink was not registered.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Remove a sink.")]
- HRESULT Remove([in] BSTR pszTypeSink);
- //@method HRESULT | IEventTypeSinks | Count [propget] | Get the cound of the sinks.
- //@parm long * | plCount | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the count of the sinks."),propget]
- HRESULT Count([out,retval] long *plCount);
- //@method HRESULT | IEventTypeSinks | _NewEnum [propget] | Get an enumerator for the sinks.
- //@parm IUnknown ** | ppUnkEnum | [out,retval] Receives the result. This will be an object which
- // implements IEnumVARIANT to enumerate the BSTR values of the PROGID's of the sinks.
- [helpstring("Get an enumerator for the sinks."),id(DISPID_NEWENUM),propget,hidden]
- HRESULT _NewEnum([out,retval] IUnknown **ppUnkEnum);
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventType | Provides access to information about an event type.
- @meth HRESULT | ID [propget] | Get the ID.
- @meth HRESULT | DisplayName [propget] | Get the display name.
- @meth HRESULT | Sinks [propget] | Get the sinks which support this event type.
- @xref <i IEventTypes> <om ISourceType::EventTypes [propget]>
- */
- [
- dual,
- helpstring("Provides access to information about an event type."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(4a993b80-a654-11d0-a9ea-00aa00685c74)
- ]
- interface IEventType : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventType | ID [propget] | Get the ID.
- //@parm BSTR * | pstrID | [out,retval] Receives the result. This will be the CATID of the
- // component category for the event type, converted to a string using the StringFromGUID2()
- // function.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the ID."),propget]
- HRESULT ID([out,retval] BSTR *pstrID);
- //@method HRESULT | IEventType | DisplayName [propget] | Get the display name.
- //@parm BSTR * | pstrDisplayName | [out,retval] Receives the result. This will be the
- // display name for the component category, in the currently-active locale.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the display name."),propget]
- HRESULT DisplayName([out,retval] BSTR *pstrDisplayName);
- //@method HRESULT | IEventType | Sinks [propget] | Get the sinks which support this event type.
- // This method returns an IEventTypeSinks collection, which lets the client enumerate, add,
- // and remove the PROGID's for classes which are registered in the component category of the
- // event type.
- //@parm IEventTypeSinks ** | ppTypeSinks | [out,retval] Receives the result.
- //@xref <i IEventTypeSinks>
- [helpstring("Get the sinks which support this event type."),propget]
- HRESULT Sinks([out,retval] IEventTypeSinks **ppTypeSinks);
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventPropertyBag | Implements IPropertyBag, in an automation-compatible way.
- @meth HRESULT | Item | Get a property value.
- @meth HRESULT | Name | Get the name of a property.
- @meth HRESULT | Add | Add a property.
- @meth HRESULT | Remove | Remove a property.
- @meth HRESULT | Count [propget] | Get the count of the properties.
- @meth HRESULT | _NewEnum [propget] | Get an enumerator for the names of the properties.
- @xref <om IEventBinding::SinkProperties [propget]> <om IEventBinding::SourceProperties [propget]>
- <om IEventBinding::EventBindingProperties [propget]>
- */
- [
- dual,
- helpstring("Implements IPropertyBag, in an automation-compatible way."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(aabb23e0-a705-11d0-a9ea-00aa00685c74)
- ]
- interface IEventPropertyBag : IDispatch
- {
- //@method HRESULT | IEventPropertyBag | Item | Get a property value.
- //@parm VARIANT * | pvarPropDesired | [in] Specifies the property to get. This is either a number
- // representing the one-based index of the property in the collection, or it is a string representing
- // the name of the property.
- //@parm VARIANT * | pvarPropValue | [out,retval] Receives the result. If the property is not
- // present, this will be VT_EMPTY.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the property is not present - the result is VT_EMPTY.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get a property."),id(DISPID_VALUE)]
- HRESULT Item([in] VARIANT *pvarPropDesired, [out,retval] VARIANT *pvarPropValue);
- //@method HRESULT | IEventPropertyBag | Name | Get the name of a property.
- //@parm long | lPropIndex | [in] Specifies the index of the property to get.
- //@parm BSTR * | pstrPropName | [out,retval] Receives the result. If the property is not present,
- // this will be NULL.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the property is not present - the result is NULL.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the name of a property.")]
- HRESULT Name([in] long lPropIndex, [out,retval] BSTR *pstrPropName);
- //@method HRESULT | IEventPropertyBag | Add | Add a property.
- //@parm BSTR | pszPropName | [in] Specifies the name of the property.
- //@parm VARIANT * | pvarPropValue | [in] Specifies the value of the property. If this is VT_EMPTY,
- // then the property is removed.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the property was already present and its previous value was overwritten.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Add a property.")]
- HRESULT Add([in] BSTR pszPropName, [in] VARIANT *pvarPropValue);
- //@method HRESULT | IEventPropertyBag | Remove | Remove a property.
- //@parm VARIANT * | pvarPropDesired | Specifies the property to remove. This is either a number
- // representing the one-based index of the property in the collection, or it is a string representing
- // the name of the property.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the property was not present in the collection.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Remove a property.")]
- HRESULT Remove([in] VARIANT *pvarPropDesired);
- //@method HRESULT | IEventPropertyBag | Count [propget] | Get the count of the properties.
- //@parm long * | plCount | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the count of the properties."),propget]
- HRESULT Count([out,retval] long *plCount);
- //@method HRESULT | IEventPropertyBag | _NewEnum [propget] | Get an enumerator for the property names.
- //@parm IUnknown ** | ppUnkEnum | [out,retval] Receives the result, which is an object which
- // implements IEnumVARIANT for enumerating the names of the properties in the collection.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get an enumerator for the names of the properties."),id(DISPID_NEWENUM),propget,hidden]
- HRESULT _NewEnum([out,retval] IUnknown **ppUnkEnum);
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventBinding | Provides access to an event binding. An event binding is a single
- instance of a sink being bound to an event source. IEventBinding provides access to information
- stored in the binding database for the binding - for example, the object to be run to sink which
- sinks events, data stored in the binding on behalf of the sink, etc.
- @meth HRESULT | ID [propget] | Get the binding ID.
- @meth HRESULT | DisplayName [propget] | Get the display name.
- @meth HRESULT | DisplayName [propput] | Set the display name.
- @meth HRESULT | DisplayName [propputref] | Set the display name.
- @meth HRESULT | SinkClass [propget] | Get the sink class.
- @meth HRESULT | SinkClass [propput] | Set the sink class.
- @meth HRESULT | SinkClass [propputref] | Set the sink class.
- @meth HRESULT | SinkProperties [propget] | Get the sink properties.
- @meth HRESULT | SourceProperties [propget] | Get the source properties.
- @meth HRESULT | EventBindingProperties [propget] | Get the event binding properties.
- @meth HRESULT | Enabled [propget] | Get the enabled state.
- @meth HRESULT | Enabled [propput] | Set the enabled state.
- @meth HRESULT | Enabled [propputref] | Set the enabled state.
- @meth HRESULT | Expiration [propget] | Get the expiration date.
- @meth HRESULT | Expiration [propput] | Set the expiration date.
- @meth HRESULT | Expiration [propputref] | Set the expiration date.
- @meth HRESULT | MaxFirings [propget] | Get the maximum firings.
- @meth HRESULT | MaxFirings [propput] | Set the maximum firings.
- @meth HRESULT | MaxFirings [propputref] | Set the maximum firings.
- @meth HRESULT | Save | Save changes.
- @xref <i IEventBindings>
- */
- [
- dual,
- helpstring("Provides access to an event binding."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(8e398ce0-a64e-11d0-a9ea-00aa00685c74)
- ]
- interface IEventBinding : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventBinding | ID [propget] | Get the binding ID. The binding ID
- // uniquely identifies the binding, in a persistable manner.
- [helpstring("Get the binding ID."),propget]
- HRESULT ID([out,retval] BSTR *pstrBindingID);
- //@method HRESULT | IEventBinding | DisplayName [propget] | Get the display name.
- //@parm BSTR * | pstrDisplayName | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the display name."),propget]
- HRESULT DisplayName([out,retval] BSTR *pstrDisplayName);
- //@method HRESULT | IEventBinding | DisplayName [propput] | Set the display name.
- //@parm BSTR | pszDisplayName | [in] Specifies the name.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the display name."),propput]
- HRESULT DisplayName([in] BSTR pszDisplayName);
- //@method HRESULT | IEventBinding | DisplayName [propputref] | Set the display name.
- //@parm BSTR * | ppszDisplayName | [in] Specifies the name.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the display name."),propputref]
- HRESULT DisplayName([in] BSTR *ppszDisplayName);
- //@method HRESULT | IEventBinding | SinkClass [propget] | Get the sink class. The sink
- // class is the PROGID of the object which sinks events at this binding.
- //@parm BSTR * | pstrSinkClass | [out,retval] Receives the result. This is the PROGID of
- // the object which sinks events in this binding.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the sink class."),propget]
- HRESULT SinkClass([out,retval] BSTR *pstrSinkClass);
- //@method HRESULT | IEventBinding | SinkClass [propput] | Set the sink class. The sink
- // class is the PROGID of the object which sinks events at this binding.
- //@parm BSTR | pszSinkClass | [in] A string for the PROGID of the object which is to sink
- // events in this binding.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_E_BADCLASS | Failure, the object class is bad.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the sink class."),propput]
- HRESULT SinkClass([in] BSTR pszSinkClass);
- //@method HRESULT | IEventBinding | SinkClass [propputref] | Set the sink class. The sink
- // class is the PROGID of the object which sinks events at this binding.
- //@parm BSTR * | ppszSinkClass | [in] A string for the PROGID of the object which is to sink
- // events in this binding.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_E_BADCLASS | Failure, the object class is bad.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the sink class."),propputref]
- HRESULT SinkClass([in] BSTR *ppszSinkClass);
- //@method HRESULT | IEventBinding | SinkProperties [propget] | Get the sink properties. The sink
- // properties are stored in an IEventPropertyBag, and are available to the sink when the sink is
- // created.
- //@parm IEventPropertyBag ** | ppSinkProperties | [out,retval] Receives the result. This object
- // implements IEventPropertyBag for accessing the sink's properties.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventPropertyBag>
- [helpstring("Get the sink properties."),propget]
- HRESULT SinkProperties([out,retval] IEventPropertyBag **ppSinkProperties);
- //@method HRESULT | IEventBinding | SourceProperties [propget] | Get the source properties. The
- // source properties are stored in an IEventPropertyBag, and are available to the source for
- // controlling how events are signaled.
- //@parm IEventPropertyBag ** | ppSourceProperties | [out,retval] Receives the result. This object
- // implements IEventPropertyBag for accessing the source's properties.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventPropertyBag>
- [helpstring("Get the source properties."),propget]
- HRESULT SourceProperties([out,retval] IEventPropertyBag **ppSourceProperties);
- //@method HRESULT | IEventBinding | EventBindingProperties [propget] | Get the event binding
- // properties. The event binding properties are stored in an IEventPropertyBag, and are used by the
- // event system for controlling how events are handled.
- //@parm IEventPropertyBag ** | ppEventBindingProperties | [out,retval] Receives the result. This
- // object implements IEventPropertyBag for accessing the event binding's properties.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventPropertyBag>
- [helpstring("Get the event binding data."),propget]
- HRESULT EventBindingProperties([out,retval] IEventPropertyBag **ppEventBindingProperties);
- //@method HRESULT | IEventBinding | Enabled [propget] | Get the enabled state.
- //@parm VARIANT_BOOL * | pbEnabled | [out,retval] Receives the result - VARIANT_TRUE if the binding
- // is enabled, and VARIANT_FALSE if the binding is disabled.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the enabled state."),propget]
- HRESULT Enabled([out,retval] VARIANT_BOOL *pbEnabled);
- //@method HRESULT | IEventBinding | Enabled [propput] | Set the enabled state.
- //@parm VARIANT_BOOL | bEnabled | [in] Sets the enabled state - VARIANT_TRUE if the binding is to be
- // enabled, and VARIANT_FALSE if the binding is to be disabled.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the enabled state."),propput]
- HRESULT Enabled([in] VARIANT_BOOL bEnabled);
- //@method HRESULT | IEventBinding | Enabled [propputref] | Set the enabled state.
- //@parm VARIANT_BOOL * | pbEnabled | [in] Sets the enabled state - VARIANT_TRUE if the binding is
- // to be enabled, and VARIANT_FALSE if the binding is to be disabled.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the enabled state."),propputref]
- HRESULT Enabled([in] VARIANT_BOOL *pbEnabled);
- //@method HRESULT | IEventBinding | Expiration [propget] | Get the expiration date.
- //@parm DATE * | pdateExpiration | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, there is no expiration set.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the expiration date."),propget]
- HRESULT Expiration([out,retval] DATE *pdateExpiration);
- //@method HRESULT | IEventBinding | Expiration [propput] | Set the expiration date.
- //@parm DATE | dateExpiration | [in] Specifies the expiration. Setting an expiration of 0.0 will
- // remove the expiration.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the expiration date."),propput]
- HRESULT Expiration([in] DATE dateExpiration);
- //@method HRESULT | IEventBinding | Expiration [propputref] | Set the expiration date.
- //@parm DATE * | pdateExpiration | [in] Specifies the expiration. Setting an expiration of 0.0 will
- // remove the expiration.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the expiration date."),propputref]
- HRESULT Expiration([in] DATE *pdateExpiration);
- //@method HRESULT | IEventBinding | MaxFirings [propget] | Get the maximum number of firings.
- //@parm long * | plMaxFirings | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, there is no max firings limitation.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the maximum number of firings."),propget]
- HRESULT MaxFirings([out,retval] long *plMaxFirings);
- //@method HRESULT | IEventBinding | MaxFirings [propput] | Set the maximum number of firings.
- //@parm long | lMaxFirings | [in] Specifies the maximum number of firings. Setting a max firings
- // of -1 removes the max firings setting.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the maximum number of firings."),propput]
- HRESULT MaxFirings([in] long lMaxFirings);
- //@method HRESULT | IEventBinding | MaxFirings [propputref] | Set the maximum number of firings.
- //@parm long * | plMaxFirings | [in] Specifies the maximum number of firings. Setting a max firings
- // of -1 removes the max firings setting.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the maximum number of firings."),propputref]
- HRESULT MaxFirings([in] long *plMaxFirings);
- //@method HRESULT | IEventBinding | Save | Save changes. Changes made using the
- // other methods of this interface are not written to the binding database until the Save()
- // method is called.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_E_BADCLASS | Failure, the object class is bad.
- //@rvalue EVENTS_E_BADEVENTTYPE | Failure, the event type is bad.
- //@rvalue EVENTS_E_BADATA | Failure, the binding contains bad data.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Save changes.")]
- HRESULT Save();
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventBindings | Provides access to a collection of event bindings.
- @meth HRESULT | Item | Get an event binding.
- @meth HRESULT | Add | Create an event binding.
- @meth HRESULT | Remove | Remove an event binding.
- @meth HRESULT | Count [propget] | Get the count of the event bindings.
- @meth HRESULT | _NewEnum [propget] | Get an enumerator for the event bindings.
- @xref <i IEventBinding> <om IEventBindingManager::Bindings [propget]>
- */
- [
- dual,
- helpstring("Provides access to a collection of event bindings."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(1080b910-a636-11d0-a9ea-00aa00685c74)
- ]
- interface IEventBindings : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventBindings | Item | Get an event binding.
- //@parm VARIANT * | pvarDesired | [in] Specifies the event binding to get. This is either a
- // number which is the one-based index of the binding to get, or it is a string which is the ID
- // of the binding to get.
- //@parm IEventBinding ** | ppEventBinding | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the binding is not present in the collection. *ppEventBinding is
- // set to NULL.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <om IEventBinding::ID [propget]> <i IEventBinding>
- [helpstring("Get an event binding."),id(DISPID_VALUE)]
- HRESULT Item([in] VARIANT *pvarDesired, [out,retval] IEventBinding **ppEventBinding);
- //@method HRESULT | IEventBindings | Add | Create an event binding. The new binding object is
- // not initialized or written to the binding database - after creating it, the client must call
- // methods in the IEventBinding interface to initialize it, and then call the
- // IEventBinding::Save method to write the new binding to the binding database.
- //@parm BSTR | strBinding | [in] Specifies the ID of the binding. This is a GUID, converted
- // to a string using StringFromGUID2(). If this value is NULL, or an empty string, or the value
- // GUID_NULL, then a new GUID will be generated for the binding (and the IEventBinding::ID
- // [propget] method may be used to retrieve it).
- //@parm IEventBinding ** | ppBinding | [out,retval] Receives the new binding object.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the binding was already present. *ppBinding has a pointer to the
- // pre-existing binding.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <om IEventBinding::ID [propget]> <i IEventBinding>
- [helpstring("Create an event binding.")]
- HRESULT Add([in] BSTR strBinding, [out,retval] IEventBinding **ppBinding);
- //@method HRESULT | IEventBindings | Remove | Delete an event binding.
- //@parm VARIANT * | pvarDesired | [in] Specifies the event binding to remove. This is either a
- // number which is the one-based index of the binding to remove, or it is a string which is the
- // ID of the binding to remove.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the event binding was not present in the collection.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <om IEventBinding::ID [propget]>
- [helpstring("Remove an event binding.")]
- HRESULT Remove([in] VARIANT *pvarDesired);
- //@method HRESULT | IEventBindings | Count [propget] | Get the count of the event bindings.
- //@parm long * | plCount | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the count of the event bindings."),propget]
- HRESULT Count([out,retval] long *plCount);
- //@method HRESULT | IEventBindings | _NewEnum [propget] | Get an enumerator for the bindings.
- //@parm IUnknown ** | ppUnkEnum | [out,retval] Receives the result. This will be an object which
- // implements IEnumVARIANT to enumerate the IEventBinding interfaces of the binding objects.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventBinding>
- [helpstring("Get an enumerator for the bindings."),id(DISPID_NEWENUM),propget,hidden]
- HRESULT _NewEnum([out,retval] IUnknown **ppUnkEnum);
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventTypes | Provides access to a collection of event types.
- @meth HRESULT | Item | Get an event type.
- @meth HRESULT | Add | Add an event type.
- @meth HRESULT | Remove | Remove an event type.
- @meth HRESULT | Count [propget] | Get the count of the event types.
- @meth HRESULT | _NewEnum [propget] | Get an enumerator for the event types.
- @xref <i IEventType> <om IEventSourceType::EventTypes [propget]>
- */
- [
- dual,
- helpstring("Provides access to a collection of event types."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(cab29ef0-a64f-11d0-a9ea-00aa00685c74)
- ]
- interface IEventTypes : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventTypes | Item | Get an event type.
- //@parm VARIANT * | pvarDesired | [in] Specifies the event type to get. This is either a number
- // representing the one-based index into the collection of the event type to get, or it is a
- // string representing the CATID (converted using the StringFromGUID2() function) of the event
- // type to get.
- //@parm IEventType ** | ppEventType | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the item is not present. *ppEvent is NULL.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventType>
- [helpstring("Get an event type."),id(DISPID_VALUE)]
- HRESULT Item([in] VARIANT *pvarDesired, [out,retval] IEventType ** ppEventType);
- //@method HRESULT | IEventTypes | Add | Add an event type.
- //@parm BSTR | pszEventType | [in] Specifies the CATID (converted using the
- // StringFromGUID2() function) of the event type to add.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the event type was already registered in the source type.
- //@rvalue EVENTS_E_BADEVENTTYPE | Failure, the event type is not a valid component category.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <om IEventType::ID [propget]>
- [helpstring("Add an event type.")]
- HRESULT Add([in] BSTR pszEventType);
- //@method HRESULT | IEventTypes | Remove | Remove an event type. This method can only be called if
- // this object was returned by IEventManager::EventTypes() for a particular source type.
- // When called under those circumstances, this method removes the event type from the list of
- // event types which the source type supports.
- //@parm BSTR | pszEventType | [in] Specifies the CATID (converted using the
- // StringFromGUID2() function) of the event type to remove.
- //@rvalue S_OK | Success.
- //@rvalue S_FALSE | Success, the event type was not registered in the source type.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <om IEventType::ID [propget]>
- [helpstring("Remove an event type.")]
- HRESULT Remove([in] BSTR pszEventType);
- //@method HRESULT | IEventTypes | Count [propget] | Get the count of the event types.
- //@parm long * | plCount | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the count of the event types."),propget]
- HRESULT Count([out,retval] long *plCount);
- //@method HRESULT | IEventTypes | _NewEnum [propget] | Get an enumerator for the event types.
- //@parm IUnknown ** | ppUnkEnum | [out,retval] Receives the result, which is an object which
- // implements IEnumVARIANT for enumerating the IEventType interfaces of the event types in the
- // collection.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventType>
- [helpstring("Get an enumerator for the event types."),id(DISPID_NEWENUM),propget,hidden]
- HRESULT _NewEnum([out,retval] IUnknown **ppUnkEnum);
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventBindingManager | Provides access to an instance of a binding database.
- @meth HRESULT | Bindings [propget] | Get the event bindings.
- @meth HRESULT | _NewEnum [propget] | Get an enumerator for the event types.
- @xref <i IEventBindings> <i IEventBinding> <i IEventTypes> <i IEventTypes>
- <om IEventSource::GetBindingManager>
- */
- [
- dual,
- helpstring("Provides access to an instance of a binding database."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(0b4cdbc0-a64f-11d0-a9ea-00aa00685c74)
- ]
- interface IEventBindingManager : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventBindingManager | Bindings [propget] | Get the event bindings.
- //@parm BSTR | pszEventType | [in] Specifies the event type of the bindings to get. It is
- // a string representation of the CATID of the event type, generated by StringFromGUID2().
- //@parm IEventBindings ** | ppBindings | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventBindings> <i IEventBinding>
- [helpstring("Get the event bindings."),propget]
- HRESULT Bindings([in] BSTR pszEventType, [out,retval] IEventBindings **ppBindings);
- //@method HRESULT | IEventBindingManager | _NewEnum [propget] | Get an enumerator for the event types.
- //@parm IUnknown ** | ppUnkEnum | [out,retval] Receives the result. This will be an object which
- // implements IEnumVARIANT to enumerate the BSTR values of the event types.
- [helpstring("Get an enumerator for the sinks."),id(DISPID_NEWENUM),propget,hidden]
- HRESULT _NewEnum([out,retval] IUnknown **ppUnkEnum);
- };
- //@doc EVENTS INTERNAL
- /*
- @interface IEventBindingManagerCopier | Makes copies of the IEventBindingManager object.
- @meth HRESULT | Copy | Make a copy of the object.
- @meth HRESULT | EmptyCopy | Make an empty copy of the object.
- @xref <i IEventBindingManager>
- */
- [
- dual,
- helpstring("Makes copies of the IEventBindingManager object."),
- hidden,
- object,
- oleautomation,
- pointer_default(unique),
- uuid(64bad540-f88d-11d0-aa14-00aa006bc80b)
- ]
- interface IEventBindingManagerCopier : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventBindingManagerCopier | Copy | Make a copy of the object. The copy is
- // implemented in-memory - any changes made to the copy will not affect the original.
- //@parm long | lTimeout | [in] Specifies the timeout in milliseconds.
- //@parm IEventBindingManager ** | ppBindingManager | [out] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Make a copy of the object.")]
- HRESULT Copy([in] long lTimeout, [out,retval] IEventBindingManager **ppBindingManager);
- //@method HRESULT | IEventBindingManagerCopier | EmptyCopy | Make an empty copy of the object. The
- // copy is implemented in-memory - any changes made to the copy will not affect the original.
- //@parm IEventBindingManager ** | ppBindingManager | [out] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Make an empty copy of the object.")]
- HRESULT EmptyCopy([out,retval] IEventBindingManager **ppBindingManager);
- }
- interface IEventDispatcher;
- //@doc EVENTS INTERNAL
- /*
- @interface IEventRouter | Event router.
- @meth HRESULT | Database [propget] | Get the binding database.
- @meth HRESULT | Database [propput] | Set the binding database.
- @meth HRESULT | Database [propputref] | Set the binding database.
- @meth HRESULT | GetDispatcher | Get the dispatcher for an event type.
- @meth HRESULT | GetDispatcherByCLSID | Get the dispatcher for an event type.
- @meth HRESULT | GetDispatcherByClassFactory | Get the dispatcher for an event type.
- */
- [
- helpstring("Event router."),
- hidden,
- object,
- pointer_default(unique),
- uuid(1a00b970-eda0-11d0-aa10-00aa006bc80b)
- ]
- interface IEventRouter : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventRouter | Database [propget] | Get the binding database.
- //@parm IEventBindingManager ** | ppBindingManager | [out,retval] Receives the value. Will be NULL
- // if the value has never been set.
- //@rvalue S_OK | Success.
- //@xref <om IEventRouter.Database [propput]>
- [helpstring("Get the binding database."),propget]
- HRESULT Database([out,retval] IEventBindingManager **ppBindingManager);
- //@method HRESULT | IEventRouter | Database [propput] | Set the binding database.
- //@parm IEventBindingManager * | pBindingManager | [in,unique] Specifies the value.
- //@rvalue S_OK | Success.
- //@xref <om IEventRouter.Database [propget]> <om IEventRouter.Database [propputref]>
- [helpstring("Set the binding database."),propput]
- HRESULT Database([in,unique] IEventBindingManager *pBindingManager);
- //@method HRESULT | IEventRouter | Database [propputref] | Set the binding database.
- //@parm IEventBindingManager ** | ppBindingManager | [in,unique] Specifies the value.
- //@rvalue S_OK | Success.
- //@xref <om IEventRouter.Database [propget]> <om IEventRouter.Database [propput]>
- [helpstring("Set the binding database."),propputref]
- HRESULT Database([in,unique] IEventBindingManager **ppBindingManager);
- //@method HRESULT | IEventRouter | GetDispatcher | Get the dispatcher for an event type. If the
- // dispatcher is present in the cache, then the cached instance is returned. If it is not present
- // in the cache, then a new one is created - if the newly created instance supports the
- // IEventDispatcher interface, then IEventDispatcher::SetContext is called on the newly created
- // instance before the object is returned to the client.
- //@parm REFIID | iidEvent | [in] Specifies the type of event.
- //@parm REFIID | iidDesired | [in] Specifies the interface desired.
- //@parm IUnknown ** | ppUnkResult | [out,iid_is(iidDesired),retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_POINTER | Failure, bad pointer value.
- [helpstring("Get the dispatcher for an event type.")]
- HRESULT GetDispatcher([in] REFIID iidEvent,
- [in] REFIID iidDesired,
- [out,iid_is(iidDesired),retval] IUnknown **ppUnkResult);
- //@method HRESULT | IEventRouter | GetDispatcherByCLSID | Get the dispatcher for an event type. If
- // the dispatcher is present in the cache, then the cached instance is returned. If it is not
- // present in the cache, then a new one is created - if the newly created instance supports the
- // IEventDispatcher interface, then IEventDispatcher::SetContext is called on the newly created
- // instance before the object is returned to the client.
- //@parm REFCLSID | clsidDispatcher | [in] Specifies the CLSID of the dispatcher to load.
- //@parm REFIID | iidEvent | [in] Specifies the type of event.
- //@parm REFIID | iidDesired | [in] Specifies the interface desired.
- //@parm IUnknown ** | ppUnkResult | [out,iid_is(iidDesired),retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_POINTER | Failure, bad pointer value.
- [helpstring("Get the dispatcher for an event type.")]
- HRESULT GetDispatcherByCLSID([in] REFCLSID clsidDispatcher,
- [in] REFIID iidEvent,
- [in] REFIID iidDesired,
- [out,iid_is(iidDesired),retval] IUnknown **ppUnkResult);
- //@method HRESULT | IEventRouter | GetDispatcherByClassFactory | Get the dispatcher for an event
- // type. If the dispatcher is present in the cache, then the caches instance is returned. If it is
- // not present in the cache, then a new one is created - if the newly created instance supports the
- // IEventDispatcher interface, then IEventDispatcher::SetContext is called on the newly created
- // instance before the object is returned to the client.
- //@parm REFCLSID | clsidDispatcher | [in] Specifies the CLSID of the dispatcher to load. If a
- // dispatcher with this CLSID is not already loaded, then the piClassFactory object is used to create
- // one.
- //@parm IClassFactory * | piClassFactory | [in] Specifies the class factory which is to be used if
- // the dispatcher needs to be created.
- //@parm REFIID | iidEvent | [in] Specifies the type of event.
- //@parm REFIID | iidDesired | [in] Specifies the interface desired.
- //@parm IUnknown ** | ppUnkResult | [out,iid_is(iidDesired),retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_POINTER | Failure, bad pointer value.
- [helpstring("Get the dispatcher for an event type.")]
- HRESULT GetDispatcherByClassFactory([in] REFCLSID clsidDispatcher,
- [in] IClassFactory *piClassFactory,
- [in] REFIID iidEvent,
- [in] REFIID iidDesired,
- [out,iid_is(iidDesired),retval] IUnknown **ppUnkResult);
- };
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventDispatcher | Dispatches an event.
- @meth HRESULT | SetContext | Sets the object's context.
- */
- [
- helpstring("Dispatches an event."),
- hidden,
- object,
- pointer_default(unique),
- uuid(c980f550-ed9e-11d0-aa10-00aa006bc80b)
- ]
- interface IEventDispatcher : IUnknown
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventDispatcher | SetContext | Sets the object's context.
- //@parm REFGUID | guidEventType | [in] Specifies the event type.
- //@parm IEventRouter * | piRouter | [in] Specifies the router.
- //@parm IEventBindings * | pBindings | [in] Specifies the bindings.
- [helpstring("Sets the object's context.")]
- HRESULT SetContext([in] REFGUID guidEventType, [in] IEventRouter *piRouter, [in] IEventBindings *pBindings);
- };
- interface IEventSourceType;
- //@doc EVENTS EXTERNAL
- /*
- @interface IEventSource | Provides information about an event source.
- @meth HRESULT | ID [propget] | Get the ID.
- @meth HRESULT | DisplayName [propget] | Get the display name.
- @meth HRESULT | DisplayName [propput] | Set the display name.
- @meth HRESULT | DisplayName [propputref] | Set the display name.
- @meth HRESULT | BindingManagerMoniker [propget] | Get the moniker for the binding manager.
- @meth HRESULT | BindingManagerMoniker [propput] | Set the moniker for the binding manager.
- @meth HRESULT | BindingManagerMoniker [propputref] | Set the moniker for the binding manager.
- @meth HRESULT | GetBindingManager | Get the binding manager.
- @meth HRESULT | Save | Save changes.
- @xref <i IEventSourceType>
- */
- [
- dual,
- helpstring("Provides information about an event source."),
- object,
- oleautomation,
- pointer_default(unique),
- uuid(b1dcb040-a652-11d0-a9ea-00aa00685c74)
- ]
- interface IEventSource : IDispatch
- {
- import "wtypes.idl";
- import "ocidl.idl";
- //@method HRESULT | IEventSource | ID [propget] | Get the ID.
- //@parm BSTR * | pstrID | [out,retval] Receives the result. This is the GUID for the event
- // source, converted to a string using the StringFromGUID2() function.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the ID."),propget]
- HRESULT ID([out,retval] BSTR *pstrID);
- //@method HRESULT | IEventSource | DisplayName [propget] | Get the display name.
- //@parm BSTR * | pstrDisplayName | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Get the display name."),propget]
- HRESULT DisplayName([out,retval] BSTR *pstrDisplayName);
- //@method HRESULT | IEventSource | DisplayName [propput] | Set the display name.
- //@parm BSTR | pszDisplayName | [in] Specifies the name.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the display name."),propput]
- HRESULT DisplayName([in] BSTR pszDisplayName);
- //@method HRESULT | IEventSource | DisplayName [propputref] | Set the display name.
- //@parm BSTR * | ppszDisplayName | [in] Specifies the name.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- [helpstring("Set the display name."),propputref]
- HRESULT DisplayName([in] BSTR *ppszDisplayName);
- //@method HRESULT | IEventSource | BindingManagerMoniker [propget] | Get the moniker for the
- // binding manager.
- //@parm IUnknown ** | ppUnkMoniker | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_E_BADDATA | Failure, the moniker for the binding manager has not been set.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventBindingManager> <om IEventSource::GetBindingManager>
- [helpstring("Get the moniker for the binding manager."),propget]
- HRESULT BindingManagerMoniker([out,retval] IUnknown **ppUnkMoniker);
- //@method HRESULT | IEventSource | BindingManagerMoniker [propput] | Set the moniker for the
- // binding manager.
- //@parm IUnknown * | pUnkMoniker | [in] Specifies the value.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventBindingManager> <om IEventSource::GetBindingManager>
- [helpstring("Set the moniker for the binding manager."),propput]
- HRESULT BindingManagerMoniker([in] IUnknown *pUnkMoniker);
- //@method HRESULT | IEventSource | BindingManagerMoniker [propputref] | Set the moniker for the
- // binding manager.
- //@parm IUnknown ** | ppUnkMoniker | [in] Specifies the value.
- //@rvalue S_OK | Success.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <i IEventBindingManager> <om IEventSource::GetBindingManager>
- [helpstring("Set the moniker for the binding manager."),propputref]
- HRESULT BindingManagerMoniker([in] IUnknown **ppUnkMoniker);
- //@method HRESULT | IEventSource | GetBindingManager | Get the binding manager. This function is
- // the equivalent of calling the BindingManagerMoniker() [propget] method, and then calling
- // the IMoniker::BindToObject() method on the moniker.
- //@parm IEventBindingManager ** | ppBindingManager | [out,retval] Receives the result.
- //@rvalue S_OK | Success.
- //@rvalue EVENTS_E_BADDATA | Failure, the moniker for the binding manager has not been set.
- //@rvalue E_OUTOFMEMORY | Failure, out of memory.
- //@rvalue E_POINTER | Failure, a bad pointer was passed to the function.
- //@rvalue E_ACCESSDENIED | Failure, access is denied.
- //@xref <om IEventSource::BindingManagerMoniker [propget]> <i IEventBindingManager>
- [helpstring("Get the binding manager.")]
- HRESULT GetBindingManager([out,retval] IEventBindingManager **ppBindingManager);
- // @method HRESULT | IEventSource | Properties [propget] | Get the source properties.