LNK2019 не может использовать GetStagedPackageOrigin()

Я пытался использовать метод GetStagedPackageOrigin(). чтобы получить источник определенного приложения в моей системе.

Но моя программа не компилируется из-за неразрешенной внешней ошибки.

Ошибка LNK2019: ссылка на неразрешенный внешний символ __imp__GetStagedPackageOrigin@8 в функции «void __cdecl check(wchar_t const *)» (?check@@YAXPB_W@Z)

Вот мой код:

void check(__in PCWSTR fullName)
{ 
    PackageOrigin origin;
    LONG rc = GetStagedPackageOrigin(fullName, &origin);
    if (rc == ERROR_SUCCESS)
    {
        static PCWSTR originstring[] = {L"Unknown",L"Unsigned",L"Inbox",L"Store",L"DeveloperUnsigned",L"DeveloperSigned",L"LineOfBusiness" };
        PCWSTR str = originstring[origin];
        wcout << str << endl;
    }
}

Почему эта ошибка продолжает появляться и есть ли способ ее решить?


person Bharath Suresh    schedule 17.01.2019    source источник


Ответы (1)


Я использовал команду dumpbin в командной строке Visual Studio, и эта функция не экспортировалась из kernel32.dll. В dll этой функции изначально не было. Я думаю, именно поэтому возникла ошибка.

person Bharath Suresh    schedule 17.01.2019