Поделиться через


Метод IComponentAuthenticate::SACAuth (mswmdm.h)

Метод SACAuth устанавливает безопасный канал между компонентами с проверкой подлинности.

Синтаксис

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

Параметры

[in] dwProtocolID

DWORD , содержащий идентификатор протокола. Для этой версии windows Media диспетчер устройств всегда задайте для этого параметра значение SAC_PROTOCOL_V1.

[in] dwPass

DWORD , содержащий номер текущего прохода связи. Проход состоит из двух сообщений, по одному в каждом направлении. SAC_PROTOCOL_V1 является протоколом с двумя проходами, а проходы нумеруются 0 и 1.

[in] pbDataIn

Указатель на входные данные.

[in] dwDataInLen

DWORD , содержащий длину данных, на которые указывает pbDataIn .

[out] ppbDataOut

Указатель на указатель на выходные данные.

[out] pdwDataOutLen

Указатель на DWORD , содержащий длину данных, на которые указывает ppbDataOut .

Возвращаемое значение

Метод возвращает HRESULT. Все методы интерфейса в Windows Media диспетчер устройств могут возвращать любой из следующих классов кодов ошибок:

  • Стандартные коды ошибок COM
  • Коды ошибок Windows, преобразованные в значения HRESULT
  • Коды ошибок диспетчер устройств Windows Media
Подробный список возможных кодов ошибок см. в разделе Коды ошибок.

Комментарии

Этот метод вызывается только поставщиками услуг. Он вызывается один или несколько раз в зависимости от идентификатора протокола.

Структура данных в pbDataIn и ppbDataOut определяется значениями dwProtocolID и dwPass.

Примеры

В следующем коде C++ показана реализация SACAuth поставщика услуг. Он вызывает CSecureChannelServer::SACAuth для ранее созданного частного элемента CSecureChannelServer .


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

Требования

Требование Значение
Целевая платформа Windows
Header mswmdm.h
Библиотека Mssachlp.lib

См. также раздел

Проверка подлинности поставщика услуг

CSecureChannelServer::SACAuth

Интерфейс IComponentAuthenticate