News:

Masm32 SDK description, downloads and other helpful links
Message to All Guests

Main Menu

Usable functions in the windows ?

Started by TouEnMasm, May 09, 2021, 03:55:38 AM

Previous topic - Next topic

TouEnMasm

Hello,
After I have made a list of prototypes in the last Windows Sdk ,I find about 30000 of them.
I have made a comparison with the functions on the libraries and only 16000 of them was on the libraries.
I search Msdn for not presents ones and ... not find many answers on them.
Where can be found such informations ?.
Fa is a musical note to play with CL

jj2007

Many of them are inline functions, therefore no DLL export found.

TouEnMasm


Not only,there is also Internal function as ClassGetDeviceParameter and perhaps more
The goal is to get a list of usable one without errors.
Fa is a musical note to play with CL


LiaoMi

Quote from: TouEnMasm on May 09, 2021, 03:55:38 AM
Hello,
After I have made a list of prototypes in the last Windows Sdk ,I find about 30000 of them.
I have made a comparison with the functions on the libraries and only 16000 of them was on the libraries.
I search Msdn for not presents ones and ... not find many answers on them.
Where can be found such informations ?.

Hi TouEnMasm,

a more complete description of many rare function prototypes can be found in Windows 7 SDK:

from - c:\WinDDK\7600.16385.1\inc\ddk\classpnp.h - Windows 7 DDK
/*++

Internal function - described in classpnp\utils.c in ddk sources

--*/
__drv_maxIRQL(PASSIVE_LEVEL)
VOID
ClassGetDeviceParameter(
    __in PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
    __in_opt PWSTR SubkeyName,
    __in PWSTR ParameterName,
    __inout PULONG ParameterValue
    );

https://www.microsoft.com/en-us/Download/confirmation.aspx?id=8442 Win 7 SDK - x32-x64
x32 - https://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDK_EN_DVD.iso
x64 - https://download.microsoft.com/download/F/1/0/F10113F5-B750-4969-A255-274341AC6BCE/GRMSDKX_EN_DVD.iso
Win 7 DDK - https://download.microsoft.com/download/4/A/2/4A25C7D5-EFBE-4182-B6A9-AE6850409A78/GRMWDK_EN_7600_1.ISO

TouEnMasm


Windows 10 sdk seems to have made a classify of them in directories.
KM seem dedicated to driver and internal functions who can't be used by many masm user's (need to pay to made a driver!!).
shared is the directory for everyone.
um seem dedicated to media with gdi,directx,sound.. and more .He is usable by everyone
The winrt directory seem to be here only for backward compatibility
The ucrt directory seem to be a core crt not really different from the crt ?
Am I right on this ?


Fa is a musical note to play with CL

LiaoMi

#6
Quote from: TouEnMasm on May 11, 2021, 11:02:23 PM

Windows 10 sdk seems to have made a classify of them in directories.
KM seem dedicated to driver and internal functions who can't be used by many masm user's (need to pay to made a driver!!).
shared is the directory for everyone.
um seem dedicated to media with gdi,directx,sound.. and more .He is usable by everyone
The winrt directory seem to be here only for backward compatibility
The ucrt directory seem to be a core crt not really different from the crt ?
Am I right on this ?

KM - Kernel Mode
UM - User Mode
WinRT - Windows Runtime (https://en.wikipedia.org/wiki/Windows_Runtime)
UCRT - Universal CRT (https://devblogs.microsoft.com/cppblog/introducing-the-universal-crt/, https://devblogs.microsoft.com/cppblog/the-great-c-runtime-crt-refactoring/, https://devblogs.microsoft.com/cppblog/c-runtime-crt-features-fixes-and-breaking-changes-in-visual-studio-14-ctp1/, https://docs.microsoft.com/en-us/cpp/c-runtime-library/crt-library-features?view=msvc-160)

The AppCRT and DesktopCRT have been recombined into a single library, which we have named the Universal CRT. The new DLLs are named ucrtbase.dll (release) and ucrtbased.dll (debug); they do not include a version number because we'll be servicing them in-place.

Microsoft often tries to hide information about internal APIs (UM and KM)

P.S.
c:\Program Files (x86)\Windows Kits\10\Include\10.0.18362.0\km\classpnp.h

/*++

Internal function - described in classpnp\utils.c in ddk sources

--*/
_IRQL_requires_max_(PASSIVE_LEVEL)
VOID
ClassGetDeviceParameter(
    _In_ PFUNCTIONAL_DEVICE_EXTENSION FdoExtension,
    _In_opt_ PWSTR SubkeyName,
    _In_ PWSTR ParameterName,
    _Inout_ PULONG ParameterValue
    );


After installing WDK 10 (https://docs.microsoft.com/en-us/windows-hardware/drivers/download-the-wdk), this file also appeared. But despite this, some API will be hidden  :tongue: