GetModuleFileName

The GetModuleFileName function retrieves a handle for each module in a specified process.

Syntax

DWORD GetModuleFileName(
    HMODULE hModule,
    LPTSTR lpFilename,
    DWORD nSize,
);

Parameters

hModule

A handle to the loaded module whose path is being requested. If this parameter is NULL, GetModuleFileName retrieves the path of the executable file of the current process.

lpFilename

A pointer to a buffer that receives the fully qualified path of the module. If the length of the path is less than the size that the nSize parameter specifies, the function succeeds and the path is returned as a null-terminated string.

If the length of the path exceeds the size that the nSize parameter specifies, the function succeeds and the string is truncated to nSize characters including the terminating null character.

nSize

The size of the lpFilename buffer, in TCHARs.

Return Value

If the function succeeds, the return value is the length of the string that is copied to the buffer, in characters, not including the terminating null character. If the buffer is too small to hold the module name, the string is truncated to nSize characters including the terminating null character, the function returns nSize, and the function sets the last error to ERROR_INSUFFICIENT_BUFFER.

0 (zero) if the function fails

To get extended error information, call GetLastError.

Requirements

Minimum Supported Version RTX64 2013
Header windows.h
Library

rtapi.lib (Windows), Rtx_Rtss.lib (RTSS)