Fungsi PeerDistRegisterForStatusChangeNotification (peerdist.h)

Fungsi PeerDistRegisterForStatusChangeNotification meminta pemberitahuan perubahan status layanan Distribusi Serekan.

Sintaks

DWORD PeerDistRegisterForStatusChangeNotification(
  [in]           PEERDIST_INSTANCE_HANDLE hPeerDist,
  [in, optional] HANDLE                   hCompletionPort,
  [in, optional] ULONG_PTR                ulCompletionKey,
  [in]           LPOVERLAPPED             lpOverlapped,
  [out]          PEERDIST_STATUS          *pPeerDistStatus
);

Parameter

[in] hPeerDist

PEERDIST_INSTANCE_HANDLE yang dikembalikan oleh PeerDistStartup.

[in, optional] hCompletionPort

Handel ke port penyelesaian yang dapat digunakan untuk mengambil pemberitahuan penyelesaian fungsi asinkron. Untuk membuat port penyelesaian, gunakan fungsi CreateIoCompletionPort . Parameter ini bisa NULL.

[in, optional] ulCompletionKey

Nilai yang akan dikembalikan melalui parameter lpCompletionKey dari fungsi GetQueuedCompletionStatus . Parameter ini diabaikan ketika hCompletionPort adalah NULL.

[in] lpOverlapped

Penunjuk ke struktur YANG TUMPANG TINDIH . Jika anggota hEvent struktur bukan NULL, itu akan disinyalir melalui SetEvent() yang digunakan untuk memberi sinyal pemberitahuan. Ini dapat terjadi bahkan jika port penyelesaian ditentukan melalui argumen hCompletionPort .

[out] pPeerDistStatus

Penunjuk ke enumerasi PEERDIST_STATUS yang menunjukkan status layanan Distribusi Serekan saat ini.

Nilai kembali

Jika fungsi berhasil, nilai yang dikembalikan ERROR_IO_PENDING. Jika tidak, fungsi dapat mengembalikan salah satu nilai berikut:

Menampilkan kode Deskripsi
ERROR_INVALID_PARAMETER
Satu atau beberapa parameter tidak valid.
ERROR_INVALID_HANDLE
Handel hPeerDist tidak valid.

Keterangan

Fungsi ini secara opsional mendaftarkan port penyelesaian dan struktur TUMPANG TINDIH untuk pemberitahuan perubahan status. Setelah berhasil diselesaikan, parameter pPeerDistStatus akan berisi nilai PEERDIST_STATUS yang valid.

Hanya satu pendaftaran aktif untuk setiap sesi yang diizinkan. Pemanggil harus mendaftar untuk pemberitahuan setiap kali setelah memberi sinyal. Pemberitahuan akan dikirim hanya jika status saat ini diubah dari pemberitahuan sebelumnya. Setelah panggilan pertama fungsi PeerDistRegisterForStatusChangeNotification untuk sesi Distribusi Serekan, pemberitahuan pertama akan memicu hanya jika status tidak lagi sama dengan PEERDIST_STATUS_DISABLED.

Perubahan status Distribusi Serekan dapat mengakibatkan layanan Distribusi Serekan berpindah ke status yang tersedia, tidak tersedia, atau dinonaktifkan. Jika status baru dinonaktifkan atau tidak tersedia, konten, informasi konten, atau streaming menangani pemanggil yang memiliki akses ke tidak akan berfungsi lagi. Dalam hal ini, API apa pun yang menggunakan handel ini akan gagal dengan kesalahan PEERDIST_ ERROR_INVALIDATED. Pemanggil harus secara eksplisit menutup handel dengan memanggil API Distribusi Serekan yang sesuai.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 7 Professional [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2008 R2 [hanya aplikasi desktop]
Target Platform Windows
Header peerdist.h
Pustaka PeerDist.lib
DLL PeerDist.dll

Lihat juga

PeerDistClientCloseContent

PeerDistServerCloseContentInformation

PeerDistServerCloseStreamHandle

PeerDistStartup