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