Compartir a través de


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

El método SACAuth establece un canal autenticado seguro entre los componentes.

Sintaxis

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 contiene el identificador de protocolo. Para esta versión de Windows Media Administrador de dispositivos, establezca siempre este parámetro en SAC_PROTOCOL_V1.

[in] dwPass

DWORD que contiene el número del paso de comunicación actual. Un paso consta de dos mensajes, uno en cada dirección. SAC_PROTOCOL_V1 es un protocolo de dos pasos y los pases se numeran 0 y 1.

[in] pbDataIn

Puntero a los datos de entrada.

[in] dwDataInLen

DWORD que contiene la longitud de los datos a los que apunta pbDataIn .

[out] ppbDataOut

Puntero a un puntero a los datos de salida.

[out] pdwDataOutLen

Puntero a un DWORD que contiene la longitud de los datos a los que apunta ppbDataOut .

Valor devuelto

El método devuelve un valor HRESULT. Todos los métodos de interfaz de Windows Media Administrador de dispositivos pueden devolver cualquiera de las siguientes clases de códigos de error:

  • Códigos de error COM estándar
  • Códigos de error de Windows convertidos en valores HRESULT
  • Códigos de error de windows Media Administrador de dispositivos
Para obtener una lista extensa de posibles códigos de error, consulte Códigos de error.

Comentarios

Solo los proveedores de servicios llaman a este método. Se llama una o varias veces según lo dictado por el identificador de protocolo.

La estructura de los datos en pbDataIn y ppbDataOut viene determinada por los valores de dwProtocolID y dwPass.

Ejemplos

El siguiente código de C++ muestra la implementación de SACAuth de un proveedor de servicios. Llama a CSecureChannelServer::SACAuth en un miembro CSecureChannelServer privado creado 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 Value
Plataforma de destino Windows
Encabezado mswmdm.h
Library Mssachlp.lib

Consulte también

Autenticación del proveedor de servicios

CSecureChannelServer::SACAuth

IComponentAuthenticate (interfaz)