Headers diff for ncrypt.dll between 6.0.6002.18005-Windows 6.0 and 6.1.7601.23418-Windows 7.0 versions



 ncrypt.h (6.0.6002.18005-Windows 6.0)   ncrypt.h (6.1.7601.23418-Windows 7.0) 
skipping to change at line 74 skipping to change at line 74
#define NCRYPT_HASH_INTERFACE BCRYPT_HASH_INTERFACE #define NCRYPT_HASH_INTERFACE BCRYPT_HASH_INTERFACE
#define NCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE BCRYPT_ASYMMETRIC_ENCRYPTION_INT ERFACE #define NCRYPT_ASYMMETRIC_ENCRYPTION_INTERFACE BCRYPT_ASYMMETRIC_ENCRYPTION_INT ERFACE
#define NCRYPT_SECRET_AGREEMENT_INTERFACE BCRYPT_SECRET_AGREEMENT_INTERFAC E #define NCRYPT_SECRET_AGREEMENT_INTERFACE BCRYPT_SECRET_AGREEMENT_INTERFAC E
#define NCRYPT_SIGNATURE_INTERFACE BCRYPT_SIGNATURE_INTERFACE #define NCRYPT_SIGNATURE_INTERFACE BCRYPT_SIGNATURE_INTERFACE
#define NCRYPT_KEY_STORAGE_INTERFACE 0x00010001 #define NCRYPT_KEY_STORAGE_INTERFACE 0x00010001
#define NCRYPT_SCHANNEL_INTERFACE 0x00010002 #define NCRYPT_SCHANNEL_INTERFACE 0x00010002
#define NCRYPT_SCHANNEL_SIGNATURE_INTERFACE 0x00010003
// //
// algorithm groups. // algorithm groups.
// //
#define NCRYPT_RSA_ALGORITHM_GROUP NCRYPT_RSA_ALGORITHM #define NCRYPT_RSA_ALGORITHM_GROUP NCRYPT_RSA_ALGORITHM
#define NCRYPT_DH_ALGORITHM_GROUP NCRYPT_DH_ALGORITHM #define NCRYPT_DH_ALGORITHM_GROUP NCRYPT_DH_ALGORITHM
#define NCRYPT_DSA_ALGORITHM_GROUP NCRYPT_DSA_ALGORITHM #define NCRYPT_DSA_ALGORITHM_GROUP NCRYPT_DSA_ALGORITHM
#define NCRYPT_ECDSA_ALGORITHM_GROUP L"ECDSA" #define NCRYPT_ECDSA_ALGORITHM_GROUP L"ECDSA"
#define NCRYPT_ECDH_ALGORITHM_GROUP L"ECDH" #define NCRYPT_ECDH_ALGORITHM_GROUP L"ECDH"
skipping to change at line 147 skipping to change at line 148
#define NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG 0x00000200 #define NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG 0x00000200
#define NCRYPT_DO_NOT_FINALIZE_FLAG 0x00000400 #define NCRYPT_DO_NOT_FINALIZE_FLAG 0x00000400
#define NCRYPT_PERSIST_ONLY_FLAG 0x40000000 #define NCRYPT_PERSIST_ONLY_FLAG 0x40000000
#define NCRYPT_PERSIST_FLAG 0x80000000 #define NCRYPT_PERSIST_FLAG 0x80000000
#define NCRYPT_REGISTER_NOTIFY_FLAG 0x00000001 #define NCRYPT_REGISTER_NOTIFY_FLAG 0x00000001
#define NCRYPT_UNREGISTER_NOTIFY_FLAG 0x00000002 #define NCRYPT_UNREGISTER_NOTIFY_FLAG 0x00000002
// //
// Functions used to manage persisted keys. // Functions used to manage persisted keys.
// //
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptOpenStorageProvider( NCryptOpenStorageProvider(
__out NCRYPT_PROV_HANDLE *phProvider, __out NCRYPT_PROV_HANDLE *phProvider,
__in_opt LPCWSTR pszProviderName, __in_opt LPCWSTR pszProviderName,
__in DWORD dwFlags); __in DWORD dwFlags);
// AlgOperations flags for use with NCryptEnumAlgorithms() // AlgOperations flags for use with NCryptEnumAlgorithms()
#define NCRYPT_CIPHER_OPERATION BCRYPT_CIPHER_OPERATION #define NCRYPT_CIPHER_OPERATION BCRYPT_CIPHER_OPERATION
#define NCRYPT_HASH_OPERATION BCRYPT_HASH_OPERATION #define NCRYPT_HASH_OPERATION BCRYPT_HASH_OPERATION
skipping to change at line 175 skipping to change at line 176
// certenrolls_begin -- NCryptAlgorithmName // certenrolls_begin -- NCryptAlgorithmName
typedef struct _NCryptAlgorithmName typedef struct _NCryptAlgorithmName
{ {
LPWSTR pszName; LPWSTR pszName;
DWORD dwClass; // the CNG interface that supports this algorith m DWORD dwClass; // the CNG interface that supports this algorith m
DWORD dwAlgOperations; // the types of operations supported by this alg orithm DWORD dwAlgOperations; // the types of operations supported by this alg orithm
DWORD dwFlags; DWORD dwFlags;
} NCryptAlgorithmName; } NCryptAlgorithmName;
// certenrolls_end // certenrolls_end
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptEnumAlgorithms( NCryptEnumAlgorithms(
__in NCRYPT_PROV_HANDLE hProvider, __in NCRYPT_PROV_HANDLE hProvider,
__in DWORD dwAlgOperations, __in DWORD dwAlgOperations,
__out DWORD * pdwAlgCount, __out DWORD * pdwAlgCount,
__deref_out_ecount(*pdwAlgCount) NCryptAlgorithmName **ppAlgList, __deref_out_ecount(*pdwAlgCount) NCryptAlgorithmName **ppAlgList,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptIsAlgSupported( NCryptIsAlgSupported(
__in NCRYPT_PROV_HANDLE hProvider, __in NCRYPT_PROV_HANDLE hProvider,
__in LPCWSTR pszAlgId, __in LPCWSTR pszAlgId,
__in DWORD dwFlags); __in DWORD dwFlags);
// NCryptEnumKeys flags // NCryptEnumKeys flags
#define NCRYPT_MACHINE_KEY_FLAG 0x00000020 #define NCRYPT_MACHINE_KEY_FLAG 0x00000020
typedef struct NCryptKeyName typedef struct NCryptKeyName
{ {
LPWSTR pszName; LPWSTR pszName;
LPWSTR pszAlgid; LPWSTR pszAlgid;
DWORD dwLegacyKeySpec; DWORD dwLegacyKeySpec;
DWORD dwFlags; DWORD dwFlags;
} NCryptKeyName; } NCryptKeyName;
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptEnumKeys( NCryptEnumKeys(
__in NCRYPT_PROV_HANDLE hProvider, __in NCRYPT_PROV_HANDLE hProvider,
__in_opt LPCWSTR pszScope, __in_opt LPCWSTR pszScope,
__deref_out NCryptKeyName **ppKeyName, __deref_out NCryptKeyName **ppKeyName,
__inout PVOID * ppEnumState, __inout PVOID * ppEnumState,
__in DWORD dwFlags); __in DWORD dwFlags);
typedef struct NCryptProviderName typedef struct NCryptProviderName
{ {
LPWSTR pszName; LPWSTR pszName;
LPWSTR pszComment; LPWSTR pszComment;
} NCryptProviderName; } NCryptProviderName;
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptEnumStorageProviders( NCryptEnumStorageProviders(
__out DWORD * pdwProviderCount, __out DWORD * pdwProviderCount,
__deref_out_ecount(*pdwProviderCount) NCryptProviderName **ppProviderList, __deref_out_ecount(*pdwProviderCount) NCryptProviderName **ppProviderList,
__in DWORD dwFlags); __in DWORD dwFlags);
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptFreeBuffer( NCryptFreeBuffer(
__deref PVOID pvInput); __deref PVOID pvInput);
// NCryptOpenKey flags // NCryptOpenKey flags
#define NCRYPT_MACHINE_KEY_FLAG 0x00000020 #define NCRYPT_MACHINE_KEY_FLAG 0x00000020
#define NCRYPT_SILENT_FLAG 0x00000040 #define NCRYPT_SILENT_FLAG 0x00000040
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptOpenKey( NCryptOpenKey(
__inout NCRYPT_PROV_HANDLE hProvider, __inout NCRYPT_PROV_HANDLE hProvider,
__out NCRYPT_KEY_HANDLE *phKey, __out NCRYPT_KEY_HANDLE *phKey,
__in LPCWSTR pszKeyName, __in LPCWSTR pszKeyName,
__in_opt DWORD dwLegacyKeySpec, __in_opt DWORD dwLegacyKeySpec,
__in DWORD dwFlags); __in DWORD dwFlags);
// NCryptCreatePersistedKey flags // NCryptCreatePersistedKey flags
#define NCRYPT_MACHINE_KEY_FLAG 0x00000020 #define NCRYPT_MACHINE_KEY_FLAG 0x00000020
#define NCRYPT_OVERWRITE_KEY_FLAG 0x00000080 #define NCRYPT_OVERWRITE_KEY_FLAG 0x00000080
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptCreatePersistedKey( NCryptCreatePersistedKey(
__in NCRYPT_PROV_HANDLE hProvider, __in NCRYPT_PROV_HANDLE hProvider,
__out NCRYPT_KEY_HANDLE *phKey, __out NCRYPT_KEY_HANDLE *phKey,
__in LPCWSTR pszAlgId, __in LPCWSTR pszAlgId,
__in_opt LPCWSTR pszKeyName, __in_opt LPCWSTR pszKeyName,
__in DWORD dwLegacyKeySpec, __in DWORD dwLegacyKeySpec,
__in DWORD dwFlags); __in DWORD dwFlags);
skipping to change at line 287 skipping to change at line 294
#define NCRYPT_ALGORITHM_GROUP_PROPERTY L"Algorithm Group" #define NCRYPT_ALGORITHM_GROUP_PROPERTY L"Algorithm Group"
#define NCRYPT_DH_PARAMETERS_PROPERTY BCRYPT_DH_PARAMETERS #define NCRYPT_DH_PARAMETERS_PROPERTY BCRYPT_DH_PARAMETERS
#define NCRYPT_PROVIDER_HANDLE_PROPERTY L"Provider Handle" #define NCRYPT_PROVIDER_HANDLE_PROPERTY L"Provider Handle"
#define NCRYPT_PIN_PROPERTY L"SmartCardPin" #define NCRYPT_PIN_PROPERTY L"SmartCardPin"
#define NCRYPT_READER_PROPERTY L"SmartCardReader" #define NCRYPT_READER_PROPERTY L"SmartCardReader"
#define NCRYPT_SMARTCARD_GUID_PROPERTY L"SmartCardGuid" #define NCRYPT_SMARTCARD_GUID_PROPERTY L"SmartCardGuid"
#define NCRYPT_CERTIFICATE_PROPERTY L"SmartCardKeyCertificate" #define NCRYPT_CERTIFICATE_PROPERTY L"SmartCardKeyCertificate"
#define NCRYPT_PIN_PROMPT_PROPERTY L"SmartCardPinPrompt" #define NCRYPT_PIN_PROMPT_PROPERTY L"SmartCardPinPrompt"
#define NCRYPT_USER_CERTSTORE_PROPERTY L"SmartCardUserCertStore" #define NCRYPT_USER_CERTSTORE_PROPERTY L"SmartCardUserCertStore"
#define NCRYPT_ROOT_CERTSTORE_PROPERTY L"SmartcardRootCertStore" #define NCRYPT_ROOT_CERTSTORE_PROPERTY L"SmartcardRootCertStore"
#define NCRYPT_SECURE_PIN_PROPERTY L"SmartCardSecurePin"
#define NCRYPT_ASSOCIATED_ECDH_KEY L"SmartCardAssociatedECDHKey"
#define NCRYPT_SCARD_PIN_ID L"SmartCardPinId"
#define NCRYPT_SCARD_PIN_INFO L"SmartCardPinInfo"
// Maximum length of property name (in characters) // Maximum length of property name (in characters)
#define NCRYPT_MAX_PROPERTY_NAME 64 #define NCRYPT_MAX_PROPERTY_NAME 64
// Maximum length of property data (in bytes) // Maximum length of property data (in bytes)
#define NCRYPT_MAX_PROPERTY_DATA 0x100000 #define NCRYPT_MAX_PROPERTY_DATA 0x100000
// NCRYPT_EXPORT_POLICY_PROPERTY property flags. // NCRYPT_EXPORT_POLICY_PROPERTY property flags.
#define NCRYPT_ALLOW_EXPORT_FLAG 0x00000001 #define NCRYPT_ALLOW_EXPORT_FLAG 0x00000001
#define NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG 0x00000002 #define NCRYPT_ALLOW_PLAINTEXT_EXPORT_FLAG 0x00000002
skipping to change at line 349 skipping to change at line 360
{ {
DWORD dwMinLength; DWORD dwMinLength;
DWORD dwMaxLength; DWORD dwMaxLength;
DWORD dwIncrement; DWORD dwIncrement;
DWORD dwDefaultLength; DWORD dwDefaultLength;
} NCRYPT_SUPPORTED_LENGTHS; } NCRYPT_SUPPORTED_LENGTHS;
// NCryptGetProperty flags // NCryptGetProperty flags
#define NCRYPT_PERSIST_ONLY_FLAG 0x40000000 #define NCRYPT_PERSIST_ONLY_FLAG 0x40000000
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptGetProperty( NCryptGetProperty(
__in NCRYPT_HANDLE hObject, __in NCRYPT_HANDLE hObject,
__in LPCWSTR pszProperty, __in LPCWSTR pszProperty,
__out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput, __out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput,
__in DWORD cbOutput, __in DWORD cbOutput,
__out DWORD * pcbResult, __out DWORD * pcbResult,
__in DWORD dwFlags); __in DWORD dwFlags);
// NCryptSetProperty flags // NCryptSetProperty flags
#define NCRYPT_PERSIST_FLAG 0x80000000 #define NCRYPT_PERSIST_FLAG 0x80000000
#define NCRYPT_PERSIST_ONLY_FLAG 0x40000000 #define NCRYPT_PERSIST_ONLY_FLAG 0x40000000
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptSetProperty( NCryptSetProperty(
__in NCRYPT_HANDLE hObject, __in NCRYPT_HANDLE hObject,
__in LPCWSTR pszProperty, __in LPCWSTR pszProperty,
__in_bcount(cbInput) PBYTE pbInput, __in_bcount(cbInput) PBYTE pbInput,
__in DWORD cbInput, __in DWORD cbInput,
__in DWORD dwFlags); __in DWORD dwFlags);
#define NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG 0x00000200 #define NCRYPT_WRITE_KEY_TO_LEGACY_STORE_FLAG 0x00000200
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptFinalizeKey( NCryptFinalizeKey(
__in NCRYPT_KEY_HANDLE hKey, __in NCRYPT_KEY_HANDLE hKey,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptEncrypt( NCryptEncrypt(
__in NCRYPT_KEY_HANDLE hKey, __in NCRYPT_KEY_HANDLE hKey,
__in_bcount(cbInput) PBYTE pbInput, __in_bcount_opt(cbInput) PBYTE pbInput,
__in DWORD cbInput, __in DWORD cbInput,
__in_opt VOID *pPaddingInfo, __in_opt VOID *pPaddingInfo,
__out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput, __out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput,
__in DWORD cbOutput, __in DWORD cbOutput,
__out DWORD * pcbResult, __out DWORD * pcbResult,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptDecrypt( NCryptDecrypt(
__in NCRYPT_KEY_HANDLE hKey, __in NCRYPT_KEY_HANDLE hKey,
__in_bcount(cbInput) PBYTE pbInput, __in_bcount_opt(cbInput) PBYTE pbInput,
__in DWORD cbInput, __in DWORD cbInput,
__in_opt VOID *pPaddingInfo, __in_opt VOID *pPaddingInfo,
__out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput, __out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput,
__in DWORD cbOutput, __in DWORD cbOutput,
__out DWORD * pcbResult, __out DWORD * pcbResult,
__in DWORD dwFlags); __in DWORD dwFlags);
#define NCRYPT_PKCS7_ENVELOPE_BLOB L"PKCS7_ENVELOPE" #define NCRYPT_PKCS7_ENVELOPE_BLOB L"PKCS7_ENVELOPE"
#define NCRYPT_PKCS8_PRIVATE_KEY_BLOB L"PKCS8_PRIVATEKEY" #define NCRYPT_PKCS8_PRIVATE_KEY_BLOB L"PKCS8_PRIVATEKEY"
#define NCRYPT_OPAQUETRANSPORT_BLOB L"OpaqueTransport" #define NCRYPT_OPAQUETRANSPORT_BLOB L"OpaqueTransport"
#define NCRYPT_MACHINE_KEY_FLAG 0x00000020 #define NCRYPT_MACHINE_KEY_FLAG 0x00000020
#define NCRYPT_DO_NOT_FINALIZE_FLAG 0x00000400 #define NCRYPT_DO_NOT_FINALIZE_FLAG 0x00000400
#define NCRYPT_EXPORT_LEGACY_FLAG 0x00000800
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptImportKey( NCryptImportKey(
__in NCRYPT_PROV_HANDLE hProvider, __in NCRYPT_PROV_HANDLE hProvider,
__in_opt NCRYPT_KEY_HANDLE hImportKey, __in_opt NCRYPT_KEY_HANDLE hImportKey,
__in LPCWSTR pszBlobType, __in LPCWSTR pszBlobType,
__in_opt NCryptBufferDesc *pParameterList, __in_opt NCryptBufferDesc *pParameterList,
__out NCRYPT_KEY_HANDLE *phKey, __out NCRYPT_KEY_HANDLE *phKey,
__in_bcount(cbData) PBYTE pbData, __in_bcount(cbData) PBYTE pbData,
__in DWORD cbData, __in DWORD cbData,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptExportKey( NCryptExportKey(
__in NCRYPT_KEY_HANDLE hKey, __in NCRYPT_KEY_HANDLE hKey,
__in_opt NCRYPT_KEY_HANDLE hExportKey, __in_opt NCRYPT_KEY_HANDLE hExportKey,
__in LPCWSTR pszBlobType, __in LPCWSTR pszBlobType,
__in_opt NCryptBufferDesc *pParameterList, __in_opt NCryptBufferDesc *pParameterList,
__out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput, __out_bcount_part_opt(cbOutput, *pcbResult) PBYTE pbOutput,
__in DWORD cbOutput, __in DWORD cbOutput,
__out DWORD * pcbResult, __out DWORD * pcbResult,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptSignHash( NCryptSignHash(
__in NCRYPT_KEY_HANDLE hKey, __in NCRYPT_KEY_HANDLE hKey,
__in_opt VOID *pPaddingInfo, __in_opt VOID *pPaddingInfo,
__in_bcount(cbHashValue) PBYTE pbHashValue, __in_bcount(cbHashValue) PBYTE pbHashValue,
__in DWORD cbHashValue, __in DWORD cbHashValue,
__out_bcount_part_opt(cbSignature, *pcbResult) PBYTE pbSignature, __out_bcount_part_opt(cbSignature, *pcbResult) PBYTE pbSignature,
__in DWORD cbSignature, __in DWORD cbSignature,
__out DWORD * pcbResult, __out DWORD * pcbResult,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptVerifySignature( NCryptVerifySignature(
__in NCRYPT_KEY_HANDLE hKey, __in NCRYPT_KEY_HANDLE hKey,
__in_opt VOID *pPaddingInfo, __in_opt VOID *pPaddingInfo,
__in_bcount(cbHashValue) PBYTE pbHashValue, __in_bcount(cbHashValue) PBYTE pbHashValue,
__in DWORD cbHashValue, __in DWORD cbHashValue,
__in_bcount(cbSignature) PBYTE pbSignature, __in_bcount(cbSignature) PBYTE pbSignature,
__in DWORD cbSignature, __in DWORD cbSignature,
__in DWORD dwFlags); __in DWORD dwFlags);
skipping to change at line 474 skipping to change at line 495
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptFreeObject( NCryptFreeObject(
__in NCRYPT_HANDLE hObject); __in NCRYPT_HANDLE hObject);
BOOL BOOL
WINAPI WINAPI
NCryptIsKeyHandle( NCryptIsKeyHandle(
__in NCRYPT_KEY_HANDLE hKey); __in NCRYPT_KEY_HANDLE hKey);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptTranslateHandle( NCryptTranslateHandle(
__out_opt NCRYPT_PROV_HANDLE *phProvider, __out_opt NCRYPT_PROV_HANDLE *phProvider,
__out NCRYPT_KEY_HANDLE *phKey, __out NCRYPT_KEY_HANDLE *phKey,
__in HCRYPTPROV hLegacyProv, __in HCRYPTPROV hLegacyProv,
__in_opt HCRYPTKEY hLegacyKey, __in_opt HCRYPTKEY hLegacyKey,
__in_opt DWORD dwLegacyKeySpec, __in_opt DWORD dwLegacyKeySpec,
__in DWORD dwFlags); __in DWORD dwFlags);
// NCryptNotifyChangeKey flags // NCryptNotifyChangeKey flags
#define NCRYPT_REGISTER_NOTIFY_FLAG 0x00000001 #define NCRYPT_REGISTER_NOTIFY_FLAG 0x00000001
#define NCRYPT_UNREGISTER_NOTIFY_FLAG 0x00000002 #define NCRYPT_UNREGISTER_NOTIFY_FLAG 0x00000002
#define NCRYPT_MACHINE_KEY_FLAG 0x00000020 #define NCRYPT_MACHINE_KEY_FLAG 0x00000020
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptNotifyChangeKey( NCryptNotifyChangeKey(
__in NCRYPT_PROV_HANDLE hProvider, __in NCRYPT_PROV_HANDLE hProvider,
__inout HANDLE *phEvent, __inout HANDLE *phEvent,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptSecretAgreement( NCryptSecretAgreement(
__in NCRYPT_KEY_HANDLE hPrivKey, __in NCRYPT_KEY_HANDLE hPrivKey,
__in NCRYPT_KEY_HANDLE hPubKey, __in NCRYPT_KEY_HANDLE hPubKey,
__out NCRYPT_SECRET_HANDLE *phAgreedSecret, __out NCRYPT_SECRET_HANDLE *phAgreedSecret,
__in DWORD dwFlags); __in DWORD dwFlags);
__checkReturn
SECURITY_STATUS SECURITY_STATUS
WINAPI WINAPI
NCryptDeriveKey( NCryptDeriveKey(
__in NCRYPT_SECRET_HANDLE hSharedSecret, __in NCRYPT_SECRET_HANDLE hSharedSecret,
__in LPCWSTR pwszKDF, __in LPCWSTR pwszKDF,
__in_opt NCryptBufferDesc *pParameterList, __in_opt NCryptBufferDesc *pParameterList,
__out_bcount_part_opt(cbDerivedKey, *pcbResult) PBYTE pbDerivedKey, __out_bcount_part_opt(cbDerivedKey, *pcbResult) PBYTE pbDerivedKey,
__in DWORD cbDerivedKey, __in DWORD cbDerivedKey,
__out DWORD *pcbResult, __out DWORD *pcbResult,
__in ULONG dwFlags); __in ULONG dwFlags);
 End of changes. 25 change blocks. 
3 lines changed or deleted 28 lines changed or added

This html diff was produced by rfcdiff 1.41.