Compartilhar via


Método IComponentAuthenticate::SACAuth (mswmdm.h)

O método SACAuth estabelece um canal autenticado seguro entre componentes.

Sintaxe

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

Parâmetros

[in] dwProtocolID

DWORD que contém o identificador de protocolo. Para esta versão do Windows Media Gerenciador de Dispositivos, sempre defina esse parâmetro como SAC_PROTOCOL_V1.

[in] dwPass

DWORD que contém o número da passagem de comunicação atual. Um passe consiste em duas mensagens, uma em cada direção. SAC_PROTOCOL_V1 é um protocolo de duas passagens e as passagens são numeradas como 0 e 1.

[in] pbDataIn

Ponteiro para os dados de entrada.

[in] dwDataInLen

DWORD que contém o comprimento dos dados aos quais pbDataIn aponta.

[out] ppbDataOut

Ponteiro para um ponteiro para os dados de saída.

[out] pdwDataOutLen

Ponteiro para um DWORD que contém o comprimento dos dados aos quais ppbDataOut aponta.

Retornar valor

O método retorna um HRESULT. Todos os métodos de interface no Windows Media Gerenciador de Dispositivos podem retornar qualquer uma das seguintes classes de códigos de erro:

  • Códigos de erro COM padrão
  • Códigos de erro do Windows convertidos em valores HRESULT
  • Códigos de erro de Gerenciador de Dispositivos do Windows Media
Para obter uma ampla lista de possíveis códigos de erro, consulte Códigos de erro.

Comentários

Esse método é chamado apenas por provedores de serviços. Ele é chamado uma ou mais vezes, conforme ditado pelo identificador de protocolo.

A estrutura dos dados em pbDataIn e ppbDataOut é determinada pelos valores de dwProtocolID e dwPass.

Exemplos

O código C++ a seguir demonstra a implementação do SACAuth por um provedor de serviços. Ele chama CSecureChannelServer::SACAuth em um membro CSecureChannelServer privado criado anteriormente.


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

Requisitos

Requisito Valor
Plataforma de Destino Windows
Cabeçalho mswmdm.h
Biblioteca Mssachlp.lib

Confira também

Autenticando o provedor de serviços

CSecureChannelServer::SACAuth

IComponentAuthenticate Interface