IComponentAuthenticate::SACAuth-Methode (mswmdm.h)

Die SACAuth-Methode richtet einen sicheren authentifizierten Kanal zwischen Komponenten ein.

Syntax

HRESULT SACAuth(
  [in]  DWORD dwProtocolID,
  [in]  DWORD dwPass,
  [in]  BYTE  *pbDataIn,
  [in]  DWORD dwDataInLen,
  [out] BYTE  **ppbDataOut,
  [out] DWORD *pdwDataOutLen
);

Parameter

[in] dwProtocolID

DWORD , das den Protokollbezeichner enthält. Legen Sie für diese Version von Windows Media Geräte-Manager diesen Parameter immer auf SAC_PROTOCOL_V1 fest.

[in] dwPass

DWORD mit der Nummer des aktuellen Kommunikationsdurchlaufs. Ein Durchlauf besteht aus zwei Nachrichten, eine in jede Richtung. SAC_PROTOCOL_V1 ist ein Zwei-Pass-Protokoll, und die Durchläufe sind mit 0 und 1 nummeriert.

[in] pbDataIn

Zeiger auf die Eingabedaten.

[in] dwDataInLen

DWORD mit der Länge der Daten, auf die pbDataIn verweist.

[out] ppbDataOut

Zeiger auf einen Zeiger auf die Ausgabedaten.

[out] pdwDataOutLen

Zeiger auf ein DWORD mit der Länge der Daten, auf die ppbDataOut verweist.

Rückgabewert

Die Methode gibt ein HRESULT zurück. Alle Schnittstellenmethoden in Windows Media Geräte-Manager können eine der folgenden Klassen von Fehlercodes zurückgeben:

  • Standard-COM-Fehlercodes
  • In HRESULT-Werte konvertierte Windows-Fehlercodes
  • Windows Media Geräte-Manager Fehlercodes
Eine umfassende Liste möglicher Fehlercodes finden Sie unter Fehlercodes.

Hinweise

Diese Methode wird nur von Dienstanbietern aufgerufen. Es wird ein oder mehrere Male aufgerufen, wie vom Protokollbezeichner vorgegeben.

Die Struktur der Daten in pbDataIn und ppbDataOut wird durch die Werte von dwProtocolID und dwPass bestimmt.

Beispiele

Der folgende C++-Code veranschaulicht die Implementierung von SACAuth durch einen Dienstanbieter. CSecureChannelServer::SACAuth wird für ein zuvor erstelltes privates CSecureChannelServer-Element aufgerufen.


HRESULT CMyServiceProvider::SACAuth(
    DWORD   dwProtocolID,
    DWORD   dwPass,
    BYTE   *pbDataIn,
    DWORD   dwDataInLen,
    BYTE  **ppbDataOut,
    DWORD  *pdwDataOutLen)
{
    HRESULT hr = S_OK;

    // Verify that the global CSecureChannelServer member is valid.
    if(g_pAppSCServer == NULL)
        return E_FAIL;

    hr = g_pAppSCServer->SACAuth(
        dwProtocolID,
        dwPass,
        pbDataIn, dwDataInLen,
        ppbDataOut, pdwDataOutLen
    );
    return hr;
}

Anforderungen

Anforderung Wert
Zielplattform Windows
Kopfzeile mswmdm.h
Bibliothek Mssachlp.lib

Weitere Informationen

Authentifizieren des Dienstanbieters

CSecureChannelServer::SACAuth

IComponentAuthenticate-Schnittstelle