我需要以下代码的帮助。
typedef TP_StatusType ( WINAPI * TP_UserSelectPathType )( TP_InterfaceType* anInterface, UINT32* aReturnPathId, TP_Path* aReturnPath );
extern TP_UserSelectPathType TP_UserSelectPath;
locRouterDll = LoadLibraryA( aDllFileName );
TP_UserSelectPath = (TP_UserSelectPathType)GetProcAddress( locRouterDll, "TP_UserSelectPath" );
TP_StatusType eStatus;
eStatus = TP_UserSelectPath( &eInterface, &lPathId, &xPathHandle );
最后一行调用哪个函数?
最佳答案
最后一行调用哪个函数?
好吧,TP_UserSelectPath
是一个函数指针变量,该变量分配了调用GetProcAddress
所返回的函数指针。所以
TP_UserSelectPath(...)
调用由
TP_UserSelectPath
模块导出的名为locRouterDll
的函数。这是代码外部的功能。该函数在模块locRouterDll
中实现,该模块在运行时通过调用LoadLibraryA
动态加载到您的进程中。如果这对您来说是全新的,那么您应该先阅读Dynamic-Link Libraries topic on MSDN。