Aracılığıyla paylaş


Yeni İşlevselliği Kaydetme

Yeni işlevselliği bir sistem kayıt defterine kaydetme desteği, yeni işlevle birlikte yeni DLL'de sağlanmalıdır. OID Destek İşlevleri bu kayıtla ilgili yardım sağlar. Regsvr32.exe yeni işlevleri kaydeder. Bu araç Windows'a dahildir.

Yeni DLL, Regsvr32.exetarafından kullanılmak üzere DllRegisterServer ve DllUnregisterServer giriş noktaları sağlamalıdır. aşağıdaki örnekte gösterildiği gibi, CryptRegisterOIDFunction veya CryptUnregisterOIDFunctiongibi CryptoAPI işlevleri bu giriş noktaları içinde kullanılabilir.

//  The DllRegisterServer Entry Point
STDAPI DllRegisterServer(void)
{
    if(!CryptRegisterOIDFunction(
         X509_ASN_ENCODING,                  // Encoding type
         CRYPT_OID_ENCODE_OBJECT_FUNC,       // Function name
         szOID_NEW_CERTIFICATE_TYPE,         // OID
         L"NewCert.dll",                     // Dll name
         L"NewCertificateTypeEncodeObject"   // Override function
         ))                                  //   name
       {
         return E_FAIL;
       }
    else
       {
         return S_OK;
       }
}

// The DllUnregisterServer Entry Point
STDAPI DllUnregisterServer(void)
{
    HRESULT     hr = S_OK;

    if(!CryptUnregisterOIDFunction(
          X509_ASN_ENCODING,             // Encoding type
          CRYPT_OID_ENCODE_OBJECT_FUNC,  // Function name
          szOID_NEW_CERTIFICATE_TYPE     // OID
          ))
    {
       if(ERROR_FILE_NOT_FOUND != GetLastError())
               hr = E_FAIL;
    }
    return hr;
}

Bu örnek derlenmelidir ve yeni DLL'ye bağlanmalıdır. İşlev giriş noktasıyla birlikte bu iki giriş noktası dışarı aktarılmalıdır.

Yeni işlevselliği bir bilgisayara yüklemek için, komut isteminden yeni DLL'nin adını ve yolunu belirterek Regsvr32.exe çalıştırın. Regsvr32.exe CryptRegisterOIDFunction işlevine DllRegisterServer işlev giriş noktası üzerinden erişir ve yeni işlev ile DLL'yi kaydeder.