次の方法で共有


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。 パスは、各方向に 1 つずつ、2 つのメッセージで構成されます。 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 デバイス マネージャー エラー コード
考えられるエラー コードの詳細な一覧については、「 エラー コード」を参照してください。

注釈

このメソッドは、サービス プロバイダーによってのみ呼び出されます。 これは、プロトコル識別子によって指示される 1 回以上呼び出されます。

pbDataInppbDataOut のデータの構造は、dwProtocolIDdwPass の値によって決まります。

次の 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
Library Mssachlp.lib

こちらもご覧ください

サービス プロバイダーの認証

CSecureChannelServer::SACAuth

IComponentAuthenticate インターフェイス