次の方法で共有


IDirectPlayVoiceServer::Initialize メソッド

IDirectPlayVoiceServer::Initialize メソッド

DirectPlayVoiceServer オブジェクトを、Microsoft® DirectPlay® オブジェクトに関連付けて初期化する。また、このメソッドはメッセージ ハンドラをこのインターフェイスに登録する。

構文

HRESULT Initialize(      
    LPUNKNOWN lpVoid,
    PDVMESSAGEHANDLER pMessageHandler,
    PVOID pUserContext,
    LPDWORD lpdwMessageMask,
    DWORD dwMessageMaskElements
);

パラメータ

  • lpVoid
    [in] この DirectPlayVoiceServer オブジェクトが使う DirectPlay オブジェクトに対する IUnknown インターフェイスへのポインタ。
  • pMessageHandler
    [in] 処理する DirectPlayVoiceClient メッセージがある場合に呼び出されるユーザー定義のコールバック関数。DirectPlayVoiceClient オブジェクト内のスレッドがコールバック関数を呼び出すため、処理しているメイン スレッドのコンテキストにはコールバック関数は呼び出されない。
  • pUserContext
    [in] メソッドが呼び出されるたびにコールバック関数に渡される、アプリケーションにより定義された構造体へのポインタ。
  • lpdwMessageMask
    [in] DirectPlay Voice がユーザーのコールバック関数に送信するメッセージ識別子を保持する DWORD 値の配列。メッセージ識別子をこの配列に指定しない場合、メッセージは送信されない。それぞれのメッセージ識別子は一度だけ配列に現れるようにすること。また、有効なメッセージ識別子だけが許可される。たとえば、DVMSGID_CONNECTRESULT はサーバーのインターフェイスには無効だが、クライアントのインターフェイスに対しては有効である。すべてのメッセージを有効にするには、この値に NULL を指定する。
  • dwMessageMaskElements
    [in] lpdwMessageMask パラメータの要素数を指定する DWORD 値。lpdwMessageMask が NULL である場合、0 に設定しておく。

戻り値

成功した場合は DV_OK を返す。または、次のいずれかのエラー値を返す。

DVERR_ALREADYINITIALIZED オブジェクトは既に初期化されている。
DVERR_GENERIC 定義されていないエラー条件が発生した。
DVERR_INVALIDPARAM メソッドに渡された 1 つ以上のパラメータが無効である。
DVERR_INVALIDPOINTER 指定されたポインタが無効である。
DVERR_NOCALLBACK コールバック関数が指定されていないため、この処理は実行できない。
DVERR_TRANSPORTNOTINIT 指定されたトランスポートはまだ初期化されていない。

注意

IDirectPlayVoiceServer::SetNotifyMask を呼び出して、ボイス セッションの進行中に通知マスクを変更できる。