Czy „const LPVOID” jest odpowiednikiem „void * const”?

A jeśli tak, to dlaczego niektóre nagłówki Win32 go używają?

Na przykład:

BOOL APIENTRY VerQueryValueA( const LPVOID pBlock,
    LPSTR lpSubBlock,
    LPVOID * lplpBuffer,
    PUINT puLen
    );

Nieco więcej szczegółów: jeśli API nigdy nie używa odwołań (lub innych konstruktów tylko w C ++), ale tylko wskaźniki i wartości, jaki jest sens posiadaniaconst LPVOID vs.LPCVOID.

Czy powinienem traktować każde miejsce, które widzęconst LPVOID jako miejsce, w którym prawdziwe znaczenie maLPCVOID? (a więc można bezpiecznie dodać obsadę)

Dalsze wyjaśnienie: wydaje się, żeconst LPVOID pBlock był w tym przypadku błędem. SDK systemu Windows 2008 zastępuje goLPCVOID wVerQueryValue podpis. Wino zrobiło to jakiś czas temu.

questionAnswers(4)

yourAnswerToTheQuestion