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