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