2015-06-03 64 views
0

我試圖使用SLAPI一些功能,但我是相當新的PInvoke的,我真的爲此而努力。就拿SLGetPKeyInformation例如:的PInvoke SLAPI功能

HRESULT WINAPI SLGetPKeyInformation(
    _In_   HSLC  hSLC, 
    _In_  const SLID  *pPKeyId, 
    _In_   PCWSTR  pwszValueName, 
    _Out_opt_  SLDATATYPE *peDataType, 
    _Out_   UINT  *pcbValue, 
    _Out_   PBYTE  *ppbValue 
); 

https://msdn.microsoft.com/en-us/library/windows/desktop/hh971173(v=vs.85).aspx

我不明白的HSLC類型是什麼,會有人能夠在C#中使用該功能提供的示例代碼?

+0

您可以從['SLOpen'](https://msdn.microsoft.com/en-us/library/windows/desktop/hh971187(v = vs.85).aspx)獲取它。注意我對SLAPI一無所知,只知道如何導航典型的Win32 API系列;-) –

+0

我編輯過你的標題。請參閱:「[應該在其標題中包含」標籤「](http://meta.stackexchange.com/questions/19190/)」,其中的共識是「不,他們不應該」。 –

+0

謝謝@ PeterTorr-MSFT和John Saunders! – tom982

回答

2

HSLC在slpublic.h定義爲:

typedef PVOID HSLC; 

所以它是可以治療的,就像在任何WINAPI匿名手柄式和周圍的C#代碼作爲傳遞一個IntPtr。

+0

謝謝!我會給它一個鏡頭。 – tom982