Issue
COM API Help shows nwHandle is internal. We can access it on 332bits. But it failed on 6bits. The exception is
System.UnauthorizedAccessException: Access is denied. Exception from HRESULT: 0x80070005 (E_ACCESSDENIED)
Is there any known issue here? How can I get the handle?
Solution
This is by design. 'nwHandle' was originally meant for internal use only and thus was marked Hidden and commented with "Internal". It has now been disabled and always returns E_ACCESSDENIED. On 32bit Product 'nwID' will still do what 'nwHandle' used to do. i.e. Returns the internal wrapped pointer. On 64bit Product it will return E_ACCESSDENIED. A couple of methods were added to InwOpState10 that will work for both 32bit and 64bit Products:
- PtrEquals: Compares two pointers.
- X64PtrVar: Returns pointer as 64bit value inside a VARIANT