The AVIFile functions and macros use file and stream handlers implemented with OLE technology. The standard data type of an OLE function is STDAPI, and the function returns an HRESULT value (zero for success or an error otherwise). If a function returns a value other than an HRESULT, the type of the function's prototype has a slightly different syntax that embeds the return value type in parentheses following STDAPI_. For example, a function that returns a LONG data value uses STDAPI_(LONG) in the prototype statement.