다음을 통해 공유


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 2패스 프로토콜이며 패스 번호는 0과 1입니다.

[in] pbDataIn

입력 데이터에 대한 포인터입니다.

[in] dwDataInLen

pbDataIn이 가리키는 데이터의 길이를 포함하는 DWORD입니다.

[out] ppbDataOut

출력 데이터에 대한 포인터에 대한 포인터입니다.

[out] pdwDataOutLen

ppbDataOut이 가리키는 데이터의 길이를 포함하는 DWORD에 대한 포인터입니다.

반환 값

이 메서드는 HRESULT를 반환합니다. Windows Media 장치 관리자 모든 인터페이스 메서드는 다음 오류 코드 클래스 중 어느 것을 반환할 수 있습니다.

  • 표준 COM 오류 코드
  • HRESULT 값으로 변환된 Windows 오류 코드
  • Windows Media 장치 관리자 오류 코드
가능한 오류 코드의 광범위한 목록은 오류 코드를 참조하세요.

설명

이 메서드는 서비스 공급자에 의해서만 호출됩니다. 프로토콜 식별자가 지시한 대로 한 번 이상 호출됩니다.

pbDataInppbDataOut의 데이터 구조는 dwProtocolID 및 dwPass 값에 따라 결정됩니다.

예제

다음 C++ 코드는 서비스 공급자의 SACAuth 구현을 보여 줍니다. 이전에 만든 프라이빗 CSecureChannelServer 멤버에서 CSecureChannelServer::SACAuth 호출합니다.


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
헤더 mswmdm.h
라이브러리 Mssachlp.lib

추가 정보

서비스 공급자 인증

CSecureChannelServer::SACAuth

IComponentAuthenticate 인터페이스