Ändern der Scale-Eigenschaft
Die Standardimplementierung des Assistenten macht die Skalierungseigenschaft verfügbar. Sie können die vorhandene Implementierung ändern, um stattdessen die Eigenschaft verzögerungszeit verfügbar zu machen.
Verwenden Sie zunächst das folgende Beispiel, um die Funktionsprototypen für get _ scale und put scale in _ Echo.h zu ändern. Ändern Sie den Namen der Methoden und datentypen für die Parameter:
// IEcho methods
STDMETHOD(get_delay)(DWORD *pVal);
STDMETHOD(put_delay)(DWORD newVal);
Ändern Sie als Nächstes die Implementierungen der Get _ Scale- und Put _ Scale-Methoden in Echo.cpp. Passen Sie den Code an die folgenden Beispiele an:
// Formerly get_scale
STDMETHODIMP CEcho::get_delay(DWORD *pVal)
{
if ( NULL == pVal )
{
return E_POINTER;
}
*pVal = m_dwDelayTime;
return S_OK;
}
// Formerly put_scale
STDMETHODIMP CEcho::put_delay(DWORD newVal)
{
m_dwDelayTime = newVal;
return S_OK;
}
Im vorherigen Beispielcode werden die Methodennamen und die Parameterdatentypen geändert. Der Name der Membervariablen sollte zuvor geändert worden sein. Denken Sie daran, die Kommentare zu ändern, die auch die einzelnen Methoden einführen.
Ändern Sie nun die Schnittstellendefinition. Der folgende Code ersetzt den Code in der IEcho-Schnittstellendeklaration in Echo.idl:
HRESULT get_delay([out] DWORD *pVal);
HRESULT put_delay([in] DWORD newVal);