次の方法で共有


DPN_APPLICATION_DESC 構造体

DPN_APPLICATION_DESC 構造体

Microsoft® DirectPlay® アプリケーションの設定を記述する。

構文

typedef struct _DPN_APPLICATION_DESC {
    DWORD dwSize;
    DWORD dwFlags;
    GUID guidInstance;
    GUID guidApplication;
    DWORD dwMaxPlayers;
    DWORD dwCurrentPlayers;
    WCHAR *pwszSessionName;
    WCHAR *pwszPassword;
    PVOID pvReservedData;
    DWORD dwReservedDataSize;
    PVOID pvApplicationReservedData;
    DWORD dwApplicationReservedDataSize;
} DPN_APPLICATION_DESC, *PDPN_APPLICATION_DESC;

メンバ

  • dwSize
    DPN_APPLICATION_DESC 構造体のサイズ。アプリケーションは、この構造体を使う前に、まずこのメンバを設定する必要がある。
  • dwFlags
    アプリケーションの動作を記述する次のいずれかのフラグ。
    • DPNSESSION_CLIENT_SERVER
      このタイプのセッションはクライアント/サーバーである。このフラグを DPNSESSION_MIGRATE_HOST と組み合わせることはできない。
    • DPNSESSION_MIGRATE_HOST
      ピアツーピア セッションで使われ、ホストの移行を可能にする。このフラグを DPNSESSION_CLIENT_SERVER と組み合わせることはできない。
    • DPNSESSION_NODPNSVR
      DPNSVR からホストに列挙を転送してはならない。詳細については、「DirectPlay DPNSVR アプリケーションの使い方」を参照すること。
    • DPNSESSION_REQUIREPASSWORD
      セッションをパスワードにより保護する。このフラグを設定した場合、pwszPassword に有効な文字列を指定する必要がある。
    • DPNSESSION_NOENUMS
      DirectPlay に列挙クエリーの開始を許可しない。
    • DPNSESSION_FAST_SIGNED
      各パケットに 8 バイト値を追加する。受信側がこの値を受け取る前に、このパケットはこの値を保持している必要がある。
    • DPNSESSION_FULL_SIGNED
      パケットの内容に基づいてローリングする 8 バイトの SHA1 ハッシュ値を追加する。パケットに正しい SHA1 シグネチャがないと、受け取られない。
  • guidInstance
    起動時に DirectPlay が生成するグローバル一意識別子 (GUID)。このメンバは、IDirectPlay8Peer::GetApplicationDescIDirectPlay8Client::GetApplicationDesc、または IDirectPlay8Server::GetApplicationDesc を呼び出すときの [out] パラメータである。IDirectPlay8Peer::Connect メソッドおよび IDirectPlay8Client::Connect メソッドを呼び出すときの、省略可能な [in] パラメータである。IDirectPlay8Peer::SetApplicationDesc メソッドまたは IDirectPlay8Server::SetApplicationDesc メソッドを呼び出すときは、GUID_NULL に設定する必要がある。この GUID は、IDirectPlay8Server::Host または IDirectPlay8Peer::Host メソッドを呼び出しても取得できない。GUIDGetApplicationDesc メソッドを呼び出して取得しなければならない。
  • guidApplication
    アプリケーションの GUID
  • dwMaxPlayers
    セッションで使えるプレーヤの最大数を指定する DWORD 型の変数。プレーヤの数を無制限にするときは、このメンバを 0 に設定する。
  • dwCurrentPlayers
    セッションに現在接続されているプレーヤの数を指定する DWORD 型の変数。このメンバは、IDirectPlay8Peer::GetApplicationDescIDirectPlay8Client::GetApplicationDescIDirectPlay8Server::GetApplicationDesc の各メソッドのみによって設定される。
  • pwszSessionName
    セッションの名前を指定する WCHAR 型の変数へのポインタ。このメンバは、情報を伝えるだけの目的でホストまたはサーバーによって設定される。クライアントがこの名前を使ってホストまたはサーバーに接続することはできない。
  • pwszPassword
    セッションへの接続に必要な Unicode パスワードを指定する WCHAR 型の変数へのポインタ。dwFlags メンバに DPNSESSION_REQUIREPASSWORD が設定されていない場合、この値は NULL にする必要がある。
  • pvReservedData
    DirectPlay の予約済みデータへのポインタ。アプリケーションはこの値を変更してはならない。
  • dwReservedDataSize
    pvReservedData メンバに保持されているデータ サイズを指定する DWORD 型の変数。アプリケーションはこの値を変更してはならない。
  • pvApplicationReservedData
    アプリケーション固有の予約済みデータへのポインタ。この値はオプションであり、NULL に設定できる。
  • dwApplicationReservedDataSize
    pvApplicationReservedData メンバのデータのサイズを指定する DWORD 型の変数。この値はオプションであり、NULL に設定できる。

注意

アプリケーションの複数のインスタンスは、セッションで同時に実行できる。複数のインスタンスが実行される場合、各インスタンスは、関連付けられた独自の DPN_APPLICATION_DESC 構造体を持つ。"アプリケーション" とは、その特定のインスタンスのことを示す。

dwMaxPlayerspvApplicationReservedDatadwApplicationReservedDataSizepwszPasswordpwszSessionName の各メンバは、IDirectPlay8Peer::HostIDirectPlay8Server::HostIDirectPlay8Peer::SetApplicationDesc、または IDirectPlay8Server::SetApplicationDesc のいずれかのメソッドを呼び出すときに設定できる。

DPNSESSION_FAST_SIGNED フラグまたは DPNSESSION_FULL_SIGNED フラグを設定すると、プレーヤは Microsoft DirectX® 8.1 以前のバージョンを使ってセッションに接続できなくなる。これらのフラグを一緒に使うことはできない。

セキュリティ上の注意 セキュリティ上の警告  パスワードで保護されたセッションに接続する場合、pwszPassword メンバのデータはクリア テキストでホストに送信される。

構造体の情報

ヘッダー dplay8.h
最低限のオペレーティング システム Windows 98、Pocket PC 2002