Fungsi QueryServiceLockStatusA (winsvc.h)

[Fungsi ini tidak berpengaruh pada Windows Vista.]

Mengambil status kunci database manajer kontrol layanan yang ditentukan.

Sintaks

BOOL QueryServiceLockStatusA(
  [in]            SC_HANDLE                    hSCManager,
  [out, optional] LPQUERY_SERVICE_LOCK_STATUSA lpLockStatus,
  [in]            DWORD                        cbBufSize,
  [out]           LPDWORD                      pcbBytesNeeded
);

Parameter

[in] hSCManager

Handel ke database manajer kontrol layanan. Fungsi OpenSCManager mengembalikan handel ini, yang harus memiliki hak akses SC_MANAGER_QUERY_LOCK_STATUS. Untuk informasi selengkapnya, lihat Keamanan Layanan dan Hak Akses.

[out, optional] lpLockStatus

Penunjuk ke struktur QUERY_SERVICE_LOCK_STATUS yang menerima status kunci database yang ditentukan dikembalikan, ditambah string yang dituju anggotanya.

[in] cbBufSize

Ukuran buffer yang diacu oleh parameter lpLockStatus , dalam byte.

[out] pcbBytesNeeded

Penunjuk ke variabel yang menerima jumlah byte yang diperlukan untuk mengembalikan semua informasi status kunci, jika fungsi gagal.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan bukan nol.

Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.

Kode kesalahan berikut dapat diatur oleh manajer kontrol layanan. Kode kesalahan lainnya dapat diatur oleh fungsi registri yang dipanggil oleh manajer kontrol layanan.

Menampilkan kode Deskripsi
ERROR_ACCESS_DENIED
Handel tidak memiliki hak akses SC_MANAGER_QUERY_LOCK_STATUS.
ERROR_INSUFFICIENT_BUFFER
Ada lebih banyak informasi status kunci daripada yang akan masuk ke dalam buffer lpLockStatus . Jumlah byte yang diperlukan untuk mendapatkan semua informasi dikembalikan dalam parameter pcbBytesNeeded . Tidak ada yang ditulis ke lpLockStatus.
ERROR_INVALID_HANDLE
Handel yang ditentukan tidak valid.

Keterangan

Fungsi QueryServiceLockStatus mengembalikan struktur QUERY_SERVICE_LOCK_STATUS yang menunjukkan apakah database yang ditentukan dikunci. Jika database dikunci, struktur menyediakan nama akun pengguna yang memiliki kunci dan lamanya waktu kunci ditahan.

Proses memanggil fungsi LockServiceDatabase untuk memperoleh kepemilikan kunci database manajer kontrol layanan dan fungsi UnlockServiceDatabase untuk melepaskan kunci.

Catatan

Header winsvc.h mendefinisikan QueryServiceLockStatus sebagai alias yang secara otomatis memilih versi ANSI atau Unicode dari fungsi ini berdasarkan definisi konstanta pra-prosesor UNICODE. Mencampur penggunaan alias encoding-netral dengan kode yang tidak mengodekan-netral dapat menyebabkan ketidakcocokan yang mengakibatkan kesalahan kompilasi atau runtime. Untuk informasi selengkapnya, lihat Konvensi untuk Prototipe Fungsi.

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows XP [hanya aplikasi desktop]
Server minimum yang didukung Windows Server 2003 [hanya aplikasi desktop]
Target Platform Windows
Header winsvc.h (sertakan Windows.h)
Pustaka Advapi32.lib
DLL Advapi32.dll

Lihat juga

LockServiceDatabase

OpenSCManager

QUERY_SERVICE_LOCK_STATUS

Konfigurasi Layanan

Fungsi Layanan

UnlockServiceDatabase