NCryptStreamOpenToUnprotect-Funktion (ncryptprotect.h)

Die NCryptStreamOpenToUnprotect-Funktion öffnet ein Streamobjekt, das verwendet werden kann, um große Datenmengen mit demselben Schutzdeskriptor zu entschlüsseln, der für die Verschlüsselung verwendet wird. Rufen Sie NCryptStreamUpdate auf, um die Entschlüsselung auszuführen. Um kleinere Nachrichten wie Schlüssel und Kennwörter zu entschlüsseln, rufen Sie NCryptUnprotectSecret auf.

Syntax

SECURITY_STATUS NCryptStreamOpenToUnprotect(
  [in]           NCRYPT_PROTECT_STREAM_INFO *pStreamInfo,
                 DWORD                      dwFlags,
  [in, optional] HWND                       hWnd,
  [out]          NCRYPT_STREAM_HANDLE       *phStream
);

Parameter

[in] pStreamInfo

Zeiger auf eine NCRYPT_PROTECT_STREAM_INFO Struktur, die die Adresse einer benutzerdefinierten Rückruffunktion zum Empfangen der entschlüsselten Daten und einen Zeiger auf benutzerdefinierte Kontextdaten enthält.

dwFlags

Ein Flag, das zusätzliche Informationen für den Schlüsseldienstanbieter angibt. Dies kann null oder der folgende Wert sein.

Wert Bedeutung
NCRYPT_SILENT_FLAG
Fordert an, dass der Schlüsseldienstanbieter keine Benutzeroberfläche anzeigt.

[in, optional] hWnd

Handle bis zum übergeordneten Fenster der Benutzeroberfläche, falls vorhanden, das angezeigt werden soll.

[out] phStream

Zeiger auf das Handle des entschlüsselten Datenstroms.

Rückgabewert

Gibt einen status Code zurück, der den Erfolg oder Fehler der Funktion angibt. Mögliche Rückgabecodes sind u. a. die folgenden:

Rückgabecode Beschreibung
ERROR_SUCCESS
Die Funktion war erfolgreich.
NTE_BAD_FLAGS
Der dwFlags-Parameter muss null (0) oder NCRYPT_SILENT_FLAG enthalten.
NTE_INVALID_PARAMETER
Die Parameter phStream und pStreamInfo können nicht NULL sein.

Die Rückruffunktion, auf die der pfnStreamOutput-Member der NCRYPT_PROTECT_STREAM_INFO Struktur verweist, auf die der pStreamInfo-Parameter verweist, kann nicht NULL sein.

NTE_NO_MEMORY
Es war nicht genügend Arbeitsspeicher vorhanden, um einen Datenstrom zuzuordnen.

Hinweise

Die NCryptStreamOpenToUnprotect-Funktion erstellt ein internes Streamobjekt, das zum Verschlüsseln großer Nachrichten verwendet werden kann. Sie können das -Objekt nicht direkt verwenden. Stattdessen müssen Sie das objekthandle verwenden, das von dieser Funktion zurückgegeben wird.

Rufen Sie diese Funktion auf, bevor Sie die NCryptStreamUpdate-Funktion aufrufen. Wenn Sie eine große Datei verschlüsseln, verwenden Sie NCryptStreamUpdate in einer Schleife, die die Datei Block für Block durchläuft, jeden Block verschlüsselt, während er voranschreitet, und benachrichtigt Ihren Rückruf, wenn jeder Block abgeschlossen ist. Weitere Informationen finden Sie unter NCryptStreamUpdate.

Die NCryptStreamOpenToUnprotect-Funktion ruft die unverschlüsselte Schutzdeskriptorregelzeichenfolge aus dem Streamheader ab. Die Regelzeichenfolge wird von der NCryptStreamOpenToUnprotect-Funktion in den Header eingefügt.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 8 [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2012 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile ncryptprotect.h
Bibliothek NCrypt.lib
DLL NCrypt.dll

Weitere Informationen

CNG DPAPI-Funktionen

NCRYPT_PROTECT_STREAM_INFO

NCryptStreamClose

NCryptStreamOpenToProtect

NCryptStreamUpdate