[PATCH 5/7] ncrypt: add NCryptImportKey stub

Joseph Kogut joseph.kogut at gmail.com
Fri Oct 4 20:27:10 CDT 2019


Signed-off-by: Joseph Kogut <joseph.kogut at gmail.com>
---
 dlls/ncrypt/main.c      | 10 ++++++++++
 dlls/ncrypt/ncrypt.spec |  2 +-
 include/ncrypt.h        | 12 ++++++++++++
 3 files changed, 23 insertions(+), 1 deletion(-)

diff --git a/dlls/ncrypt/main.c b/dlls/ncrypt/main.c
index 1d7c853840..2d4a513140 100644
--- a/dlls/ncrypt/main.c
+++ b/dlls/ncrypt/main.c
@@ -109,6 +109,16 @@ SECURITY_STATUS WINAPI NCryptGetProperty(NCRYPT_HANDLE object, const WCHAR *prop
     return NTE_NOT_SUPPORTED;
 }
 
+SECURITY_STATUS WINAPI NCryptImportKey(NCRYPT_PROV_HANDLE provider, NCRYPT_KEY_HANDLE decrypt_key,
+                                       const WCHAR *type, NCryptBufferDesc *params, NCRYPT_KEY_HANDLE *key,
+                                       PBYTE data, DWORD datasize, DWORD flags)
+{
+    FIXME("(0x%lx, 0x%lx, %s, %p, %p, %p, %u, 0x%08x): stub\n", provider, decrypt_key,
+                                                                wine_dbgstr_w(type), params,
+                                                                key, data, datasize, flags);
+    return NTE_NOT_SUPPORTED;
+}
+
 SECURITY_STATUS WINAPI NCryptOpenKey(NCRYPT_PROV_HANDLE provider, NCRYPT_KEY_HANDLE *key,
                                      const WCHAR *name, DWORD keyspec, DWORD flags)
 {
diff --git a/dlls/ncrypt/ncrypt.spec b/dlls/ncrypt/ncrypt.spec
index cf5decbc8c..ac5e85895a 100644
--- a/dlls/ncrypt/ncrypt.spec
+++ b/dlls/ncrypt/ncrypt.spec
@@ -76,7 +76,7 @@
 @ stdcall NCryptFreeObject(long)
 @ stdcall NCryptGetProperty(ptr wstr ptr long ptr long)
 @ stub NCryptGetProtectionDescriptorInfo
-@ stub NCryptImportKey
+@ stdcall NCryptImportKey(long long wstr ptr ptr ptr long long)
 @ stub NCryptIsAlgSupported
 @ stub NCryptIsKeyHandle
 @ stub NCryptKeyDerivation
diff --git a/include/ncrypt.h b/include/ncrypt.h
index 9712f2f521..111693f1d4 100644
--- a/include/ncrypt.h
+++ b/include/ncrypt.h
@@ -39,6 +39,18 @@ typedef struct _NCryptAlgorithmName {
     DWORD dwFlags;
 } NCryptAlgorithmName;
 
+typedef struct _NCryptBuffer {
+    ULONG cbBuffer;
+    ULONG BufferType;
+    PVOID pvBuffer;
+} NCryptBuffer, *PNCryptBuffer;
+
+typedef struct _NCryptBufferDesc {
+    ULONG ulVersion;
+    ULONG cBuffers;
+    PNCryptBuffer pBuffers;
+} NCryptBufferDesc, *PNCryptBufferDesc;
+
 typedef struct NCryptKeyName {
     LPWSTR pszName;
     LPWSTR pszAlgid;
-- 
2.23.0




More information about the wine-devel mailing list