32ビットと64ビットの両方のOSでレジストリキーの再帰的な削除を実装しようとしています。XP x64 Professional未満のOSではRegDeleteKeyExが定義されていないため、この関数を間接的に使用しようとしています。
問題::x64でも、GetProcAddress()がNULLを返します。
//Global Declarations
typedef LONG (WINAPI * PFN_RegDeleteKeyEx)(HKEY hKey , LPCTSTR lpSubKey , REGSAM samDesired , DWORD Reserved );
PFN_RegDeleteKeyEx _RegDeleteKeyEx ;
//The code inside function
hAdvAPI32 = LoadLibrary(TEXT("Advapi32.dll"));
_RegDeleteKeyEx = (PFN_RegDeleteKeyEx)GetProcAddress( hAdvAPI32, "RegDeleteKeyEx" );
if( _RegDeleteKeyEx == NULL )
printf("NULL\n") ;