I'm trying to define a P/Invoke signature for the following method (defined in propsys.h)
PSSTDAPI PSRegisterPropertySchema(
    __in PCWSTR pszPath);
I've seen on the WinNT.h that PCWSTR is an alias to LPCWSTR as
type开发者_运维问答def __nullterminated CONST WCHAR *LPCWSTR, *PCWSTR;
And the PSSTDAPI is an alias for HRESULT
So how should be the P/Invoke signature for the PSRegisterPropertySchema method?
After set the CharSet value to CharSet.Unicode it worked.
[DllImport("Propsys.dll", CharSet=CharSet.Unicode)]
static internal extern int PSRegisterPropertySchema(String pszPath);
Without specifing the CharSet the function was returning 0x80070057 which is  E_INVALIDARG.
 
         
                                         
                                         
                                         
                                        ![Interactive visualization of a graph in python [closed]](https://www.devze.com/res/2023/04-10/09/92d32fe8c0d22fb96bd6f6e8b7d1f457.gif) 
                                         
                                         
                                         
                                         加载中,请稍侯......
 加载中,请稍侯......
      
精彩评论