Partager via


IComponentAuthenticate ::SACAuth, méthode (mswmdm.h)

La méthode SACAuth établit un canal authentifié sécurisé entre les composants.

Syntaxe

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

Paramètres

[in] dwProtocolID

DWORD contenant l’identificateur de protocole. Pour cette version de Windows Media Gestionnaire de périphériques, définissez toujours ce paramètre sur SAC_PROTOCOL_V1.

[in] dwPass

DWORD contenant le numéro de la passe de communication actuelle. Un passage se compose de deux messages, un dans chaque direction. SAC_PROTOCOL_V1 est un protocole à deux passes, et les passes sont numérotées 0 et 1.

[in] pbDataIn

Pointeur vers les données d’entrée.

[in] dwDataInLen

DWORD contenant la longueur des données vers lesquelles pbDataIn pointe.

[out] ppbDataOut

Pointeur vers un pointeur vers les données de sortie.

[out] pdwDataOutLen

Pointeur vers un DWORD contenant la longueur des données vers lesquelles ppbDataOut pointe.

Valeur retournée

Cette méthode retourne un code HRESULT. Toutes les méthodes d’interface dans Windows Media Gestionnaire de périphériques peuvent retourner l’une des classes suivantes de codes d’erreur :

  • Codes d’erreur COM standard
  • Codes d’erreur Windows convertis en valeurs HRESULT
  • Codes d’erreur Gestionnaire de périphériques Windows Media
Pour obtenir une liste complète des codes d’erreur possibles, consultez Codes d’erreur.

Remarques

Cette méthode est appelée uniquement par les fournisseurs de services. Il est appelé une ou plusieurs fois comme dicté par l’identificateur de protocole.

La structure des données dans pbDataIn et ppbDataOut est déterminée par les valeurs de dwProtocolID et dwPass.

Exemples

Le code C++ suivant illustre l’implémentation de SACAuth par un fournisseur de services. Il appelle CSecureChannelServer ::SACAuth sur un membre CSecureChannelServer privé créé précédemment.


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

Configuration requise

Condition requise Valeur
Plateforme cible Windows
En-tête mswmdm.h
Bibliothèque Mssachlp.lib

Voir aussi

Authentification du fournisseur de services

CSecureChannelServer ::SACAuth

IComponentAuthenticate, interface