See the MSDN docs for the LoadIFilter function - you should get one of the error codes, at least according to this page.
- E_ACCESSDENIED =
0x80070005 - The function was denied access to the filter file. - E_HANDLE =
0x80070006 - The function detected an invalid handle, probably due to a low memory situation. - E_INVALIDARG =
0x80070057 - The function received an invalid parameter. - E_OUTOFMEMORY =
0x8007000E - The function did not have enough memory or other resources to complete the operation. - E_FAIL =
0x80000008 - The function detected an unknown error.
(In addition, the full set of constant values is listed here , which seems to be longer than indicated on MSDN.) Now, the interesting thing is that your error code corresponds to 80004005 in hexadecimal format, which is not indicated on any page. I suspect that pinvoke.net could be wrong, like many other sites ( this , for example), list it as E_FAIL .. not that it really helps anyway. Sorry for the unconvincing answer, but maybe it will show you the right way at least.
Edit: This error seems to have been reported elsewhere and caused a lot of confusion for many people without a simple solution. It seems that the reason may be one of several actually ... There are various suggestions here and here that you can try, but I don’t think I can help you more than that, since I never encountered this error in This context. Anyway, good luck ...
source share