Beispiel #1
0
BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, PVOID pvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
            hInstance = hInst;
            DisableThreadLibraryCalls(hInst);
            crypt_oid_init();
            break;
        case DLL_PROCESS_DETACH:
            if (pvReserved) break;
            crypt_oid_free();
            crypt_sip_free();
            root_store_free();
            default_chain_engine_free();
            if (hDefProv) CryptReleaseContext(hDefProv, 0);
            break;
    }
    return TRUE;
}
Beispiel #2
0
BOOL WINAPI DllMain(HINSTANCE hInst, DWORD fdwReason, PVOID pvReserved)
{
    switch (fdwReason)
    {
        case DLL_PROCESS_ATTACH:
            hInstance = hInst;
            DisableThreadLibraryCalls(hInst);
            crypt_oid_init();
            break;
        case DLL_PROCESS_DETACH:
            crypt_oid_free();
            crypt_sip_free();
            root_store_free();
            default_chain_engine_free();
            /* Don't release the default provider on process shutdown, there's
             * no guarantee the provider dll hasn't already been unloaded.
             */
            if (hDefProv && !pvReserved) CryptReleaseContext(hDefProv, 0);
            break;
    }
    return TRUE;
}