Leaked source code of windows server 2003
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
//+------------------------------------------------------------------------- // Microsoft Windows // // Copyright (C) Microsoft Corporation, 2002 - 2002 // // File: i_cryptasn1tls.h // // Contents: Crypt ASN.1 Thread Local Storage (TLS) functions //--------------------------------------------------------------------------
#ifndef __I_CRYPTASN1TLS_H__ #define __I_CRYPTASN1TLS_H__
#ifdef __cplusplus extern "C" { #endif
// Handle to an installed Asn1 module typedef DWORD HCRYPTASN1MODULE;
// Pointers to ASN1 data structures typedef void *ASN1module_t; typedef void *ASN1encoding_t; typedef void *ASN1decoding_t;
//+------------------------------------------------------------------------- // Install an Asn1 module entry and return a handle for future access. // // Each thread has its own copy of the decoder and encoder associated // with the Asn1 module. Creation is deferred until first referenced by // the thread. // // I_CryptGetAsn1Encoder or I_CryptGetAsn1Decoder must be called with the // handle returned by I_CryptInstallAsn1Module to get the thread specific // Asn1 encoder or decoder. // // Currently, dwFlags and pvReserved aren't used and must be set to 0. //--------------------------------------------------------------------------
HCRYPTASN1MODULE WINAPI I_CryptInstallAsn1Module( IN ASN1module_t pMod, IN DWORD dwFlags, IN void *pvReserved );
//+------------------------------------------------------------------------- // Called at DLL_PROCESS_DETACH to uninstall an hAsn1Module entry. Iterates // through the threads and frees their created Asn1 encoders and decoders. //-------------------------------------------------------------------------- BOOL WINAPI I_CryptUninstallAsn1Module( IN HCRYPTASN1MODULE hAsn1Module );
//+------------------------------------------------------------------------- // Get the thread specific pointer to the Asn1 encoder specified by the // hAsn1Module returned by CryptInstallAsn1Module. If the // encoder doesn't exist, then, its created using the Asn1 module // associated with hAsn1Module. //-------------------------------------------------------------------------- ASN1encoding_t WINAPI I_CryptGetAsn1Encoder( IN HCRYPTASN1MODULE hAsn1Module );
//+------------------------------------------------------------------------- // Get the thread specific pointer to the Asn1 decoder specified by the // hAsn1Module returned by CryptInstallAsn1Module. If the // decoder doesn't exist, then, its created using the Asn1 module // associated with hAsn1Module. //-------------------------------------------------------------------------- ASN1decoding_t WINAPI I_CryptGetAsn1Decoder( IN HCRYPTASN1MODULE hAsn1Module );
#ifdef __cplusplus } // Balance extern "C" above #endif
#endif
|