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 錯誤碼
- 轉換成 HRESULT 值的 Windows 錯誤碼
- Windows Media 裝置管理員 錯誤碼
備註
這個方法只能由服務提供者呼叫。 它會呼叫一或多次,如通訊協定標識碼所指定。
pbDataIn 和ppbDataOut中的數據結構取決於 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 |