Condividi tramite


Metodo IComponentAuthenticate::SACAuth (mswmdm.h)

Il metodo SACAuth stabilisce un canale autenticato sicuro tra i componenti.

Sintassi

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

Parametri

[in] dwProtocolID

DWORD contenente l'identificatore del protocollo. Per questa versione di Windows Media Gestione dispositivi, impostare sempre questo parametro su SAC_PROTOCOL_V1.

[in] dwPass

DWORD contenente il numero del passaggio di comunicazione corrente. Un passaggio è costituito da due messaggi, uno in ogni direzione. SAC_PROTOCOL_V1 è un protocollo a due passaggi e i passaggi sono numerati 0 e 1.

[in] pbDataIn

Puntatore ai dati di input.

[in] dwDataInLen

DWORD contenente la lunghezza dei dati a cui punta pbDataIn .

[out] ppbDataOut

Puntatore a un puntatore ai dati di output.

[out] pdwDataOutLen

Puntatore a un DWORD contenente la lunghezza dei dati a cui punta ppbDataOut .

Valore restituito

Il metodo restituisce un valore HRESULT. Tutti i metodi di interfaccia in Windows Media Gestione dispositivi possono restituire una delle classi di codici di errore seguenti:

  • Codici di errore COM standard
  • Codici di errore di Windows convertiti in valori HRESULT
  • Codici di errore di Windows Media Gestione dispositivi
Per un elenco completo dei codici di errore possibili, vedere Codici di errore.

Commenti

Questo metodo viene chiamato solo dai provider di servizi. Viene chiamato una o più volte come determinato dall'identificatore del protocollo.

La struttura dei dati in pbDataIn e ppbDataOut è determinata dai valori di dwProtocolID e dwPass.

Esempio

Il codice C++ seguente illustra l'implementazione di SACAuth da parte di un provider di servizi. Chiama CSecureChannelServer::SACAuth in un membro CSecureChannelServer privato creato in precedenza.


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;
}

Requisiti

Requisito Valore
Piattaforma di destinazione Windows
Intestazione mswmdm.h
Libreria Mssachlp.lib

Vedi anche

Autenticazione del provider di servizi

CSecureChannelServer::SACAuth

Interfaccia IComponentAuthenticate