次の方法で共有


IVdsService::Advise メソッド (vds.h)

[Windows 8とWindows Server 2012以降、Virtual Disk Service COM インターフェイスは Windows Storage Management API に置き換えられます。

呼び出し元が VDS サービスから通知を受信できるように、呼び出し元の IVdsAdviseSink インターフェイスを VDS に登録します。

構文

HRESULT Advise(
  [in]  IVdsAdviseSink *pSink,
  [out] DWORD          *pdwCookie
);

パラメーター

[in] pSink

IVdsAdviseSink インターフェイスへのポインター。

[out] pdwCookie

後でインターフェイスの登録を解除するために使用できる Cookie へのポインター。

戻り値

このメソッドは、E_INVALIDARGやE_OUTOFMEMORYなどの標準の HRESULT 値と、VDS 固有の戻り値を返すことができます。 また、HRESULT_FROM_WIN32 マクロを使用して、変換されたシステム エラー コードを返すこともできます。 エラーは、VDS 自体または使用されている基になる VDS プロバイダー から発生する可能性があります。 可能な戻り値は次のとおりです。

リターン コード/値 説明
S_OK
登録が正常に完了しました。
VDS_E_INITIALIZED_FAILED
0x80042401L
VDS の初期化に失敗しました。 サービスの初期化が完了する前にアプリケーションがこのメソッドを呼び出すと、初期化が完了するまでメソッドはブロックされます。 初期化に失敗した場合、このエラーが返されます。

注釈

VDS サービスから通知を受信するには、アプリケーションで IVdsAdviseSink インターフェイスを実装し、 Advise メソッドを使用してインターフェイスを登録する必要があります。

VDS サービスからの通知の受信を停止するには、 IVdsService::Unadvise メソッドを使用して IVdsAdviseSink インターフェイスの登録を解除します。

メモAdvise を呼び出すアプリケーションは、最終的に Unadvise を呼び出す必要があります。 理想的には、通知を受信する必要がなくなったらすぐに Unadvise を呼び出す必要があります。
 
基になるソフトウェアおよびハードウェア プロバイダーから通知を受け取るために、VDS は IVdsProviderPrivate::OnLoad メソッドのパラメーターとして通知コールバック関数を各プロバイダーに渡します。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー vds.h
Library Uuid.lib

こちらもご覧ください

IVdsAdviseSink

IVdsProviderPrivate::OnLoad

IVdsService

VDS 通知