### bcrypt.h ###

BCRYPT_ALG_HANDLE=type
type.BCRYPT_ALG_HANDLE=p

BCRYPT_HANDLE=type
type.BCRYPT_HANDLE=p

BCRYPT_HASH_HANDLE=type
type.BCRYPT_HASH_HANDLE=p

BCRYPT_KEY_HANDLE=type
type.BCRYPT_KEY_HANDLE=p

BCRYPT_SECRET_HANDLE=type
type.BCRYPT_SECRET_HANDLE=p



PCRYPT_CONTEXT_CONFIG=type
type.PCRYPT_CONTEXT_CONFIG=p

PCRYPT_CONTEXT_FUNCTION_PROVIDERS=type
type.PCRYPT_CONTEXT_FUNCTION_PROVIDERS=p

PCRYPT_CONTEXT_FUNCTIONS=type
type.PCRYPT_CONTEXT_FUNCTIONS=p

PCRYPT_CONTEXT_FUNCTION_CONFIG=type
type.PCRYPT_CONTEXT_FUNCTION_CONFIG=p

PCRYPT_CONTEXTS=type
type.PCRYPT_CONTEXTS=p

PCRYPT_PROVIDER_REG=type
type.PCRYPT_PROVIDER_REG=p

PCRYPT_PROVIDERS=type
type.PCRYPT_PROVIDERS=p



BCryptAddContextFunction=func
func.BCryptAddContextFunction.args=5
func.BCryptAddContextFunction.arg.0=ULONG,dwTable
func.BCryptAddContextFunction.arg.1=LPCWSTR,pszContext
func.BCryptAddContextFunction.arg.2=ULONG,dwInterface
func.BCryptAddContextFunction.arg.3=LPCWSTR,pszFunction
func.BCryptAddContextFunction.arg.4=ULONG,dwPosition
func.BCryptAddContextFunction.ret=NTSTATUS

BCryptCloseAlgorithmProvider=func
func.BCryptCloseAlgorithmProvider.args=2
func.BCryptCloseAlgorithmProvider.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptCloseAlgorithmProvider.arg.1=ULONG,dwFlags
func.BCryptCloseAlgorithmProvider.ret=NTSTATUS

BCryptConfigureContext=func
func.BCryptConfigureContext.args=3
func.BCryptConfigureContext.arg.0=ULONG,dwTable
func.BCryptConfigureContext.arg.1=LPCWSTR,pszContext
func.BCryptConfigureContext.arg.2=PCRYPT_CONTEXT_CONFIG,pConfig
func.BCryptConfigureContext.ret=NTSTATUS

BCryptConfigureContextFunction=func
func.BCryptConfigureContextFunction.args=5
func.BCryptConfigureContextFunction.arg.0=ULONG,dwTable
func.BCryptConfigureContextFunction.arg.1=LPCWSTR,pszContext
func.BCryptConfigureContextFunction.arg.2=ULONG,dwInterface
func.BCryptConfigureContextFunction.arg.3=LPCWSTR,pszFunction
func.BCryptConfigureContextFunction.arg.4=PCRYPT_CONTEXT_FUNCTION_CONFIG,pConfig
func.BCryptConfigureContextFunction.ret=NTSTATUS

BCryptCreateContext=func
func.BCryptCreateContext.args=3
func.BCryptCreateContext.arg.0=ULONG,dwTable
func.BCryptCreateContext.arg.1=LPCWSTR,pszContext
func.BCryptCreateContext.arg.2=PCRYPT_CONTEXT_CONFIG,pConfig
func.BCryptCreateContext.ret=NTSTATUS

BCryptCreateHash=func
func.BCryptCreateHash.args=7
func.BCryptCreateHash.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptCreateHash.arg.1=BCRYPT_HASH_HANDLE *,phHash
func.BCryptCreateHash.arg.2=PUCHAR,pbHashObject
func.BCryptCreateHash.arg.3=ULONG,cbHashObject
func.BCryptCreateHash.arg.4=PUCHAR,pbSecret
func.BCryptCreateHash.arg.5=ULONG,cbSecret
func.BCryptCreateHash.arg.6=ULONG,dwFlags
func.BCryptCreateHash.ret=NTSTATUS

BCryptCreateMultiHash=func
func.BCryptCreateMultiHash.args=8
func.BCryptCreateMultiHash.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptCreateMultiHash.arg.1=BCRYPT_HASH_HANDLE *,phHash
func.BCryptCreateMultiHash.arg.2=ULONG,nHashes
func.BCryptCreateMultiHash.arg.3=PUCHAR,pbHashObject
func.BCryptCreateMultiHash.arg.4=ULONG,cbHashObject
func.BCryptCreateMultiHash.arg.5=PUCHAR,pbSecret
func.BCryptCreateMultiHash.arg.6=ULONG,cbSecret
func.BCryptCreateMultiHash.arg.7=ULONG,dwFlags
func.BCryptCreateMultiHash.ret=NTSTATUS

BCryptDecrypt=func
func.BCryptDecrypt.args=10
func.BCryptDecrypt.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptDecrypt.arg.1=PUCHAR,pbInput
func.BCryptDecrypt.arg.2=ULONG,cbInput
func.BCryptDecrypt.arg.3=VOID *,pPaddingInfo
func.BCryptDecrypt.arg.4=PUCHAR,pbIV
func.BCryptDecrypt.arg.5=ULONG,cbIV
func.BCryptDecrypt.arg.6=PUCHAR,pbOutput
func.BCryptDecrypt.arg.7=ULONG,cbOutput
func.BCryptDecrypt.arg.8=ULONG *,pcbResult
func.BCryptDecrypt.arg.9=ULONG,dwFlags
func.BCryptDecrypt.ret=NTSTATUS

BCryptDeleteContext=func
func.BCryptDeleteContext.args=2
func.BCryptDeleteContext.arg.0=ULONG,dwTable
func.BCryptDeleteContext.arg.1=LPCWSTR,pszContext
func.BCryptDeleteContext.ret=NTSTATUS

BCryptDeriveKey=func
func.BCryptDeriveKey.args=7
func.BCryptDeriveKey.arg.0=BCRYPT_SECRET_HANDLE,hSharedSecret
func.BCryptDeriveKey.arg.1=LPCWSTR,pwszKDF
func.BCryptDeriveKey.arg.2=BCryptBufferDesc *,pParameterList
func.BCryptDeriveKey.arg.3=PUCHAR,pbDerivedKey
func.BCryptDeriveKey.arg.4=ULONG,cbDerivedKey
func.BCryptDeriveKey.arg.5=ULONG *,pcbResult
func.BCryptDeriveKey.arg.6=ULONG,dwFlags
func.BCryptDeriveKey.ret=NTSTATUS

BCryptDeriveKeyCapi=func
func.BCryptDeriveKeyCapi.args=5
func.BCryptDeriveKeyCapi.arg.0=BCRYPT_HASH_HANDLE,hHash
func.BCryptDeriveKeyCapi.arg.1=BCRYPT_ALG_HANDLE,hTargetAlg
func.BCryptDeriveKeyCapi.arg.2=PUCHAR,pbDerivedKey
func.BCryptDeriveKeyCapi.arg.3=ULONG,cbDerivedKey
func.BCryptDeriveKeyCapi.arg.4=ULONG,dwFlags
func.BCryptDeriveKeyCapi.ret=NTSTATUS

BCryptDeriveKeyPBKDF2=func
func.BCryptDeriveKeyPBKDF2.args=9
func.BCryptDeriveKeyPBKDF2.arg.0=BCRYPT_ALG_HANDLE,hPrf
func.BCryptDeriveKeyPBKDF2.arg.1=PUCHAR,pbPassword
func.BCryptDeriveKeyPBKDF2.arg.2=ULONG,cbPassword
func.BCryptDeriveKeyPBKDF2.arg.3=PUCHAR,pbSalt
func.BCryptDeriveKeyPBKDF2.arg.4=ULONG,cbSalt
func.BCryptDeriveKeyPBKDF2.arg.5=ULONGLONG,cIterations
func.BCryptDeriveKeyPBKDF2.arg.6=PUCHAR,pbDerivedKey
func.BCryptDeriveKeyPBKDF2.arg.7=ULONG,cbDerivedKey
func.BCryptDeriveKeyPBKDF2.arg.8=ULONG,dwFlags
func.BCryptDeriveKeyPBKDF2.ret=NTSTATUS

BCryptDestroyHash=func
func.BCryptDestroyHash.args=1
func.BCryptDestroyHash.arg.0=BCRYPT_HASH_HANDLE,hHash
func.BCryptDestroyHash.ret=NTSTATUS

BCryptDestroyKey=func
func.BCryptDestroyKey.args=1
func.BCryptDestroyKey.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptDestroyKey.ret=NTSTATUS

BCryptDestroySecret=func
func.BCryptDestroySecret.args=1
func.BCryptDestroySecret.arg.0=BCRYPT_SECRET_HANDLE,hSecret
func.BCryptDestroySecret.ret=NTSTATUS

BCryptDuplicateHash=func
func.BCryptDuplicateHash.args=5
func.BCryptDuplicateHash.arg.0=BCRYPT_HASH_HANDLE,hHash
func.BCryptDuplicateHash.arg.1=BCRYPT_HASH_HANDLE *,phNewHash
func.BCryptDuplicateHash.arg.2=PUCHAR,pbHashObject
func.BCryptDuplicateHash.arg.3=ULONG,cbHashObject
func.BCryptDuplicateHash.arg.4=ULONG,dwFlags
func.BCryptDuplicateHash.ret=NTSTATUS

BCryptDuplicateKey=func
func.BCryptDuplicateKey.args=5
func.BCryptDuplicateKey.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptDuplicateKey.arg.1=BCRYPT_KEY_HANDLE *,phNewKey
func.BCryptDuplicateKey.arg.2=PUCHAR,pbKeyObject
func.BCryptDuplicateKey.arg.3=ULONG,cbKeyObject
func.BCryptDuplicateKey.arg.4=ULONG,dwFlags
func.BCryptDuplicateKey.ret=NTSTATUS

BCryptEncrypt=func
func.BCryptEncrypt.args=10
func.BCryptEncrypt.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptEncrypt.arg.1=PUCHAR,pbInput
func.BCryptEncrypt.arg.2=ULONG,cbInput
func.BCryptEncrypt.arg.3=VOID *,pPaddingInfo
func.BCryptEncrypt.arg.4=PUCHAR,pbIV
func.BCryptEncrypt.arg.5=ULONG,cbIV
func.BCryptEncrypt.arg.6=PUCHAR,pbOutput
func.BCryptEncrypt.arg.7=ULONG,cbOutput
func.BCryptEncrypt.arg.8=ULONG *,pcbResult
func.BCryptEncrypt.arg.9=ULONG,dwFlags
func.BCryptEncrypt.ret=NTSTATUS

BCryptEnumAlgorithms=func
func.BCryptEnumAlgorithms.args=4
func.BCryptEnumAlgorithms.arg.0=ULONG,dwAlgOperations
func.BCryptEnumAlgorithms.arg.1=ULONG *,pAlgCount
func.BCryptEnumAlgorithms.arg.2=BCRYPT_ALGORITHM_IDENTIFIER **,ppAlgList
func.BCryptEnumAlgorithms.arg.3=ULONG,dwFlags
func.BCryptEnumAlgorithms.ret=NTSTATUS

BCryptEnumContextFunctionProviders=func
func.BCryptEnumContextFunctionProviders.args=6
func.BCryptEnumContextFunctionProviders.arg.0=ULONG,dwTable
func.BCryptEnumContextFunctionProviders.arg.1=LPCWSTR,pszContext
func.BCryptEnumContextFunctionProviders.arg.2=ULONG,dwInterface
func.BCryptEnumContextFunctionProviders.arg.3=LPCWSTR,pszFunction
func.BCryptEnumContextFunctionProviders.arg.4=ULONG *,pcbBuffer
func.BCryptEnumContextFunctionProviders.arg.5=PCRYPT_CONTEXT_FUNCTION_PROVIDERS *,ppBuffer
func.BCryptEnumContextFunctionProviders.ret=NTSTATUS

BCryptEnumContextFunctions=func
func.BCryptEnumContextFunctions.args=5
func.BCryptEnumContextFunctions.arg.0=ULONG,dwTable
func.BCryptEnumContextFunctions.arg.1=LPCWSTR,pszContext
func.BCryptEnumContextFunctions.arg.2=ULONG,dwInterface
func.BCryptEnumContextFunctions.arg.3=ULONG *,pcbBuffer
func.BCryptEnumContextFunctions.arg.4=PCRYPT_CONTEXT_FUNCTIONS *,ppBuffer
func.BCryptEnumContextFunctions.ret=NTSTATUS

BCryptEnumContexts=func
func.BCryptEnumContexts.args=3
func.BCryptEnumContexts.arg.0=ULONG,dwTable
func.BCryptEnumContexts.arg.1=ULONG *,pcbBuffer
func.BCryptEnumContexts.arg.2=PCRYPT_CONTEXTS *,ppBuffer
func.BCryptEnumContexts.ret=NTSTATUS

BCryptEnumProviders=func
func.BCryptEnumProviders.args=4
func.BCryptEnumProviders.arg.0=LPCWSTR,pszAlgId
func.BCryptEnumProviders.arg.1=ULONG *,pImplCount
func.BCryptEnumProviders.arg.2=BCRYPT_PROVIDER_NAME **,ppImplList
func.BCryptEnumProviders.arg.3=ULONG,dwFlags
func.BCryptEnumProviders.ret=NTSTATUS

BCryptEnumRegisteredProviders=func
func.BCryptEnumRegisteredProviders.args=2
func.BCryptEnumRegisteredProviders.arg.0=ULONG *,pcbBuffer
func.BCryptEnumRegisteredProviders.arg.1=PCRYPT_PROVIDERS *,ppBuffer
func.BCryptEnumRegisteredProviders.ret=NTSTATUS

BCryptExportKey=func
func.BCryptExportKey.args=7
func.BCryptExportKey.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptExportKey.arg.1=BCRYPT_KEY_HANDLE,hExportKey
func.BCryptExportKey.arg.2=LPCWSTR,pszBlobType
func.BCryptExportKey.arg.3=PUCHAR,pbOutput
func.BCryptExportKey.arg.4=ULONG,cbOutput
func.BCryptExportKey.arg.5=ULONG *,pcbResult
func.BCryptExportKey.arg.6=ULONG,dwFlags
func.BCryptExportKey.ret=NTSTATUS

BCryptFinalizeKeyPair=func
func.BCryptFinalizeKeyPair.args=2
func.BCryptFinalizeKeyPair.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptFinalizeKeyPair.arg.1=ULONG,dwFlags
func.BCryptFinalizeKeyPair.ret=NTSTATUS

BCryptFinishHash=func
func.BCryptFinishHash.args=4
func.BCryptFinishHash.arg.0=BCRYPT_HASH_HANDLE,hHash
func.BCryptFinishHash.arg.1=PUCHAR,pbOutput
func.BCryptFinishHash.arg.2=ULONG,cbOutput
func.BCryptFinishHash.arg.3=ULONG,dwFlags
func.BCryptFinishHash.ret=NTSTATUS

BCryptFreeBuffer=func
func.BCryptFreeBuffer.args=1
func.BCryptFreeBuffer.arg.0=PVOID,pvBuffer
func.BCryptFreeBuffer.ret=void

BCryptGenerateKeyPair=func
func.BCryptGenerateKeyPair.args=4
func.BCryptGenerateKeyPair.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptGenerateKeyPair.arg.1=BCRYPT_KEY_HANDLE *,phKey
func.BCryptGenerateKeyPair.arg.2=ULONG,dwLength
func.BCryptGenerateKeyPair.arg.3=ULONG,dwFlags
func.BCryptGenerateKeyPair.ret=NTSTATUS

BCryptGenerateSymmetricKey=func
func.BCryptGenerateSymmetricKey.args=7
func.BCryptGenerateSymmetricKey.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptGenerateSymmetricKey.arg.1=BCRYPT_KEY_HANDLE *,phKey
func.BCryptGenerateSymmetricKey.arg.2=PUCHAR,pbKeyObject
func.BCryptGenerateSymmetricKey.arg.3=ULONG,cbKeyObject
func.BCryptGenerateSymmetricKey.arg.4=PUCHAR,pbSecret
func.BCryptGenerateSymmetricKey.arg.5=ULONG,cbSecret
func.BCryptGenerateSymmetricKey.arg.6=ULONG,dwFlags
func.BCryptGenerateSymmetricKey.ret=NTSTATUS

BCryptGenRandom=func
func.BCryptGenRandom.args=4
func.BCryptGenRandom.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptGenRandom.arg.1=PUCHAR,pbBuffer
func.BCryptGenRandom.arg.2=ULONG,cbBuffer
func.BCryptGenRandom.arg.3=ULONG,dwFlags
func.BCryptGenRandom.ret=NTSTATUS

BCryptGetFipsAlgorithmMode=func
func.BCryptGetFipsAlgorithmMode.args=1
func.BCryptGetFipsAlgorithmMode.arg.0=BOOLEAN *,pfEnabled
func.BCryptGetFipsAlgorithmMode.ret=NTSTATUS

BCryptGetProperty=func
func.BCryptGetProperty.args=6
func.BCryptGetProperty.arg.0=BCRYPT_HANDLE,hObject
func.BCryptGetProperty.arg.1=LPCWSTR,pszProperty
func.BCryptGetProperty.arg.2=PUCHAR,pbOutput
func.BCryptGetProperty.arg.3=ULONG,cbOutput
func.BCryptGetProperty.arg.4=ULONG *,pcbResult
func.BCryptGetProperty.arg.5=ULONG,dwFlags
func.BCryptGetProperty.ret=NTSTATUS

BCryptHash=func
func.BCryptHash.args=7
func.BCryptHash.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptHash.arg.1=PUCHAR,pbSecret
func.BCryptHash.arg.2=ULONG,cbSecret
func.BCryptHash.arg.3=PUCHAR,pbInput
func.BCryptHash.arg.4=ULONG,cbInput
func.BCryptHash.arg.5=PUCHAR,pbOutput
func.BCryptHash.arg.6=ULONG,cbOutput
func.BCryptHash.ret=NTSTATUS

BCryptHashData=func
func.BCryptHashData.args=4
func.BCryptHashData.arg.0=BCRYPT_HASH_HANDLE,hHash
func.BCryptHashData.arg.1=PUCHAR,pbInput
func.BCryptHashData.arg.2=ULONG,cbInput
func.BCryptHashData.arg.3=ULONG,dwFlags
func.BCryptHashData.ret=NTSTATUS

BCryptImportKey=func
func.BCryptImportKey.args=9
func.BCryptImportKey.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptImportKey.arg.1=BCRYPT_KEY_HANDLE,hImportKey
func.BCryptImportKey.arg.2=LPCWSTR,pszBlobType
func.BCryptImportKey.arg.3=BCRYPT_KEY_HANDLE *,phKey
func.BCryptImportKey.arg.4=PUCHAR,pbKeyObject
func.BCryptImportKey.arg.5=ULONG,cbKeyObject
func.BCryptImportKey.arg.6=PUCHAR,pbInput
func.BCryptImportKey.arg.7=ULONG,cbInput
func.BCryptImportKey.arg.8=ULONG,dwFlags
func.BCryptImportKey.ret=NTSTATUS

BCryptImportKeyPair=func
func.BCryptImportKeyPair.args=7
func.BCryptImportKeyPair.arg.0=BCRYPT_ALG_HANDLE,hAlgorithm
func.BCryptImportKeyPair.arg.1=BCRYPT_KEY_HANDLE,hImportKey
func.BCryptImportKeyPair.arg.2=LPCWSTR,pszBlobType
func.BCryptImportKeyPair.arg.3=BCRYPT_KEY_HANDLE *,phKey
func.BCryptImportKeyPair.arg.4=PUCHAR,pbInput
func.BCryptImportKeyPair.arg.5=ULONG,cbInput
func.BCryptImportKeyPair.arg.6=ULONG,dwFlags
func.BCryptImportKeyPair.ret=NTSTATUS

BCryptKeyDerivation=func
func.BCryptKeyDerivation.args=6
func.BCryptKeyDerivation.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptKeyDerivation.arg.1=BCryptBufferDesc *,pParameterList
func.BCryptKeyDerivation.arg.2=PUCHAR,pbDerivedKey
func.BCryptKeyDerivation.arg.3=ULONG,cbDerivedKey
func.BCryptKeyDerivation.arg.4=ULONG *,pcbResult
func.BCryptKeyDerivation.arg.5=ULONG,dwFlags
func.BCryptKeyDerivation.ret=NTSTATUS

BCryptOpenAlgorithmProvider=func
func.BCryptOpenAlgorithmProvider.args=4
func.BCryptOpenAlgorithmProvider.arg.0=BCRYPT_ALG_HANDLE *,phAlgorithm
func.BCryptOpenAlgorithmProvider.arg.1=LPCWSTR,pszAlgId
func.BCryptOpenAlgorithmProvider.arg.2=LPCWSTR,pszImplementation
func.BCryptOpenAlgorithmProvider.arg.3=ULONG,dwFlags
func.BCryptOpenAlgorithmProvider.ret=NTSTATUS

BCryptProcessMultiOperations=func
func.BCryptProcessMultiOperations.args=5
func.BCryptProcessMultiOperations.arg.0=BCRYPT_HANDLE,hObject
func.BCryptProcessMultiOperations.arg.1=BCRYPT_MULTI_OPERATION_TYPE,operationType
func.BCryptProcessMultiOperations.arg.2=PVOID,pOperations
func.BCryptProcessMultiOperations.arg.3=ULONG,cbOperations
func.BCryptProcessMultiOperations.arg.4=ULONG,dwFlags
func.BCryptProcessMultiOperations.ret=NTSTATUS

BCryptQueryContextConfiguration=func
func.BCryptQueryContextConfiguration.args=4
func.BCryptQueryContextConfiguration.arg.0=ULONG,dwTable
func.BCryptQueryContextConfiguration.arg.1=LPCWSTR,pszContext
func.BCryptQueryContextConfiguration.arg.2=ULONG *,pcbBuffer
func.BCryptQueryContextConfiguration.arg.3=PCRYPT_CONTEXT_CONFIG *,ppBuffer
func.BCryptQueryContextConfiguration.ret=NTSTATUS

BCryptQueryContextFunctionConfiguration=func
func.BCryptQueryContextFunctionConfiguration.args=6
func.BCryptQueryContextFunctionConfiguration.arg.0=ULONG,dwTable
func.BCryptQueryContextFunctionConfiguration.arg.1=LPCWSTR,pszContext
func.BCryptQueryContextFunctionConfiguration.arg.2=ULONG,dwInterface
func.BCryptQueryContextFunctionConfiguration.arg.3=LPCWSTR,pszFunction
func.BCryptQueryContextFunctionConfiguration.arg.4=ULONG *,pcbBuffer
func.BCryptQueryContextFunctionConfiguration.arg.5=PCRYPT_CONTEXT_FUNCTION_CONFIG *,ppBuffer
func.BCryptQueryContextFunctionConfiguration.ret=NTSTATUS

BCryptQueryContextFunctionProperty=func
func.BCryptQueryContextFunctionProperty.args=7
func.BCryptQueryContextFunctionProperty.arg.0=ULONG,dwTable
func.BCryptQueryContextFunctionProperty.arg.1=LPCWSTR,pszContext
func.BCryptQueryContextFunctionProperty.arg.2=ULONG,dwInterface
func.BCryptQueryContextFunctionProperty.arg.3=LPCWSTR,pszFunction
func.BCryptQueryContextFunctionProperty.arg.4=LPCWSTR,pszProperty
func.BCryptQueryContextFunctionProperty.arg.5=ULONG *,pcbValue
func.BCryptQueryContextFunctionProperty.arg.6=PUCHAR *,ppbValue
func.BCryptQueryContextFunctionProperty.ret=NTSTATUS

BCryptQueryProviderRegistration=func
func.BCryptQueryProviderRegistration.args=5
func.BCryptQueryProviderRegistration.arg.0=LPCWSTR,pszProvider
func.BCryptQueryProviderRegistration.arg.1=ULONG,dwMode
func.BCryptQueryProviderRegistration.arg.2=ULONG,dwInterface
func.BCryptQueryProviderRegistration.arg.3=ULONG *,pcbBuffer
func.BCryptQueryProviderRegistration.arg.4=PCRYPT_PROVIDER_REG *,ppBuffer
func.BCryptQueryProviderRegistration.ret=NTSTATUS

BCryptRegisterConfigChangeNotify=func
func.BCryptRegisterConfigChangeNotify.args=1
func.BCryptRegisterConfigChangeNotify.arg.0=PRKEVENT,pEvent
func.BCryptRegisterConfigChangeNotify.ret=NTSTATUS

BCryptRemoveContextFunction=func
func.BCryptRemoveContextFunction.args=4
func.BCryptRemoveContextFunction.arg.0=ULONG,dwTable
func.BCryptRemoveContextFunction.arg.1=LPCWSTR,pszContext
func.BCryptRemoveContextFunction.arg.2=ULONG,dwInterface
func.BCryptRemoveContextFunction.arg.3=LPCWSTR,pszFunction
func.BCryptRemoveContextFunction.ret=NTSTATUS

BCryptResolveProviders=func
func.BCryptResolveProviders.args=8
func.BCryptResolveProviders.arg.0=LPCWSTR,pszContext
func.BCryptResolveProviders.arg.1=ULONG,dwInterface
func.BCryptResolveProviders.arg.2=LPCWSTR,pszFunction
func.BCryptResolveProviders.arg.3=LPCWSTR,pszProvider
func.BCryptResolveProviders.arg.4=ULONG,dwMode
func.BCryptResolveProviders.arg.5=ULONG,dwFlags
func.BCryptResolveProviders.arg.6=ULONG *,pcbBuffer
func.BCryptResolveProviders.arg.7=PCRYPT_PROVIDER_REFS *,ppBuffer
func.BCryptResolveProviders.ret=NTSTATUS

BCryptSecretAgreement=func
func.BCryptSecretAgreement.args=4
func.BCryptSecretAgreement.arg.0=BCRYPT_KEY_HANDLE,hPrivKey
func.BCryptSecretAgreement.arg.1=BCRYPT_KEY_HANDLE,hPubKey
func.BCryptSecretAgreement.arg.2=BCRYPT_SECRET_HANDLE *,phAgreedSecret
func.BCryptSecretAgreement.arg.3=ULONG,dwFlags
func.BCryptSecretAgreement.ret=NTSTATUS

BCryptSetContextFunctionProperty=func
func.BCryptSetContextFunctionProperty.args=7
func.BCryptSetContextFunctionProperty.arg.0=ULONG,dwTable
func.BCryptSetContextFunctionProperty.arg.1=LPCWSTR,pszContext
func.BCryptSetContextFunctionProperty.arg.2=ULONG,dwInterface
func.BCryptSetContextFunctionProperty.arg.3=LPCWSTR,pszFunction
func.BCryptSetContextFunctionProperty.arg.4=LPCWSTR,pszProperty
func.BCryptSetContextFunctionProperty.arg.5=ULONG,cbValue
func.BCryptSetContextFunctionProperty.arg.6=PUCHAR,pbValue
func.BCryptSetContextFunctionProperty.ret=NTSTATUS

BCryptSetProperty=func
func.BCryptSetProperty.args=5
func.BCryptSetProperty.arg.0=BCRYPT_HANDLE,hObject
func.BCryptSetProperty.arg.1=LPCWSTR,pszProperty
func.BCryptSetProperty.arg.2=PUCHAR,pbInput
func.BCryptSetProperty.arg.3=ULONG,cbInput
func.BCryptSetProperty.arg.4=ULONG,dwFlags
func.BCryptSetProperty.ret=NTSTATUS

BCryptSignHash=func
func.BCryptSignHash.args=8
func.BCryptSignHash.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptSignHash.arg.1=VOID *,pPaddingInfo
func.BCryptSignHash.arg.2=PUCHAR,pbInput
func.BCryptSignHash.arg.3=ULONG,cbInput
func.BCryptSignHash.arg.4=PUCHAR,pbOutput
func.BCryptSignHash.arg.5=ULONG,cbOutput
func.BCryptSignHash.arg.6=ULONG *,pcbResult
func.BCryptSignHash.arg.7=ULONG,dwFlags
func.BCryptSignHash.ret=NTSTATUS

BCryptUnregisterConfigChangeNotify=func
func.BCryptUnregisterConfigChangeNotify.args=1
func.BCryptUnregisterConfigChangeNotify.arg.0=PRKEVENT,pEvent
func.BCryptUnregisterConfigChangeNotify.ret=NTSTATUS

BCryptVerifySignature=func
func.BCryptVerifySignature.args=7
func.BCryptVerifySignature.arg.0=BCRYPT_KEY_HANDLE,hKey
func.BCryptVerifySignature.arg.1=VOID *,pPaddingInfo
func.BCryptVerifySignature.arg.2=PUCHAR,pbHash
func.BCryptVerifySignature.arg.3=ULONG,cbHash
func.BCryptVerifySignature.arg.4=PUCHAR,pbSignature
func.BCryptVerifySignature.arg.5=ULONG,cbSignature
func.BCryptVerifySignature.arg.6=ULONG,dwFlags
func.BCryptVerifySignature.ret=NTSTATUS
