2015-06-03 3 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, просто как перемещаться по типичным семействам API Win32 ;-) –

+0

Я отредактировал ваш заголовок. Пожалуйста, смотрите: «Если вопросы включают« теги »в их названиях?] (Http://meta.stackexchange.com/questions/19190/), где консенсус« нет, они не должны ». –

+0

Спасибо, @ PeterTorr-MSFT и Джон Сондерс! – tom982

ответ

2

HSLC определяется в slpublic.h как:

typedef PVOID HSLC; 

Так можно лечить так же, как любой анонимный тип ручки в WinAPI и розданы C# код как IntPtr.

+0

Спасибо! Я сделаю это. – tom982

Смежные вопросы