Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Fungsi
Sintaksis
HCERTSTORE CertOpenStore(
[in] LPCSTR lpszStoreProvider,
[in] DWORD dwEncodingType,
[in] HCRYPTPROV_LEGACY hCryptProv,
[in] DWORD dwFlags,
[in] const void *pvPara
);
Parameter
[in] lpszStoreProvider
Penunjuk ke string ANSI yang dihentikan null yang berisi jenis penyedia penyimpanan.
Nilai berikut mewakili jenis penyimpanan yang telah ditentukan sebelumnya. Jenis penyedia toko menentukan konten parameter pvPara
Nilai | Arti |
---|---|
|
Membuka toko yang akan menjadi koleksi toko lain. Penyimpanan ditambahkan ke atau dihapus dari koleksi dengan menggunakan Kata tinggi dwFlags diatur ke nol. |
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL yang dibaca dari file terbuka tertentu. Penyedia ini mengharapkan file hanya berisi penyimpanan berseri dan bukan pesan bertanda tangan PKCS #7 atau satu sertifikat yang dikodekan.
Penunjuk file harus diposisikan di awal informasi penyimpanan berseri. Setelah data di penyimpanan serial dimuat ke penyimpanan sertifikat, penunjuk file diposisikan di awal data apa pun yang dapat mengikuti data penyimpanan serial dalam file. Jika CERT_FILE_STORE_COMMIT_ENABLE diatur dalam dwFlags, handel file diduplikasi dan penyimpanan selalu dilakukan sebagai penyimpanan berseri. File tidak ditutup ketika penyimpanan ditutup. nilai pvPara: Parameter pvPara harus berisi penunjuk ke handel file yang dibuka dengan menggunakan CreateFile. |
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari file. Penyedia membuka file dan pertama-tama mencoba membaca file sebagai penyimpanan berseri, lalu sebagai pesan bertanda tangan PKCS #7, dan akhirnya sebagai satu sertifikat yang dikodekan.
Parameter dwEncodingType harus berisi jenis pengodean yang akan digunakan dengan pesan dan sertifikat. Jika file berisi sertifikat yang dikodekan
Jika dwFlags menyertakan CERT_FILE_STORE_COMMIT_ENABLE, file diterapkan sebagai PKCS #7 atau penyimpanan serial tergantung pada jenis file yang dibuka. Jika file kosong atau jika nama file memiliki ekstensi .p7c atau .spc, file diterapkan sebagai PKCS #7. Jika tidak, file diterapkan sebagai penyimpanan berseri. |
|
Sama seperti CERT_STORE_PROV_FILENAME_A.
|
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari hasil kueri LDAP.
Untuk melakukan operasi tulis di penyimpanan, string kueri harus menentukan kueri BASE tanpa filter dan satu atribut. Jika tidak, atur pvPara untuk menunjuk ke string Unicode null-terminated yang berisi string kueri LDAP. Untuk informasi selengkapnya tentang string kueri LDAP, lihat LDAP Dialect. |
|
Membuat penyimpanan sertifikat dalam memori cache. Tidak ada sertifikat, daftar pencabutan sertifikat (CRL), atau daftar kepercayaan sertifikat (CTL) awalnya dimuat ke dalam penyimpanan. Biasanya digunakan untuk membuat penyimpanan sementara.
Setiap penambahan sertifikat, CRL, atau CTL atau perubahan properti sertifikat, CRL, atau CTL di penyimpanan memori tidak disimpan secara otomatis. Mereka dapat disimpan ke file atau ke BLOB |
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari pesan kriptografi yang ditentukan. Parameter dwEncodingType harus berisi jenis pengodean yang digunakan dengan pesan dan sertifikat.
|
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari penyimpanan fisik tertentu yang merupakan anggota penyimpanan sistem logis.
Dua nama dipisahkan dengan garis miring terbelakang (\), misalnya "Root.Default". Di sini, "Root" adalah nama penyimpanan sistem dan ". Default" adalah nama penyimpanan fisik. Nama penyimpanan sistem dan fisik tidak boleh berisi garis miring terbelakang. Kata tinggi dwFlags menunjukkan lokasi penyimpanan sistem, biasanya CERT_SYSTEM_STORE_CURRENT_USER. Untuk informasi selengkapnya, lihat dwFlags nanti dalam topik ini dan lihat Lokasi Penyimpanan Sistem. Beberapa lokasi toko fisik dapat dibuka dari jarak jauh. |
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari pesan yang ditandatangani PKCS #7 yang dikodekan. Parameter dwEncodingType harus menentukan jenis pengodean yang akan digunakan dengan pesan dan sertifikat.
|
|
Menginisialisasi penyimpanan dengan konten paket PKCS #12.
Jika paket PKCS #12 dilindungi dengan kata sandi NULL atau kosong, fungsi ini akan berhasil membuka penyimpanan. Dimulai dengan Windows 8 dan Windows Server 2012, jika kata sandi yang disematkan dalam paket PFX dilindungi ke prinsipal Direktori Aktif (AD) dan pengguna saat ini, sebagai anggota prinsipal tersebut, memiliki izin untuk mendekripsi kata sandi, fungsi ini akan berhasil membuka toko. Untuk informasi selengkapnya, lihat parameter pvPara Anda dapat melindungi kata sandi PFX ke perwakilan AD yang dimulai di Windows 8 dan Windows Server 2012. |
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari subkunjuk registri.
Penyedia ini membuka atau membuat subkunci registri Sertifikat, CRL, dan CTL di bawah kunci yang diteruskan dalam pvPara. Kunci input tidak ditutup oleh penyedia. Sebelum kembali, penyedia membuka salinan kuncinya sendiri yang diteruskan di pvPara. Jika CERT_STORE_READONLY_FLAG diatur dalam kata rendah |
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari lokasi memori yang berisi penyimpanan berseri.
|
|
Saat ini tidak digunakan. |
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari penyimpanan sistem yang ditentukan.
Penyimpanan sistem adalah penyimpanan koleksi logis yang terdiri dari satu atau beberapa penyimpanan fisik. Penyimpanan fisik yang terkait dengan penyimpanan sistem terdaftar dengan fungsi |
|
Sama seperti CERT_STORE_PROV_SYSTEM_A.
|
|
Menginisialisasi penyimpanan dengan sertifikat, CRL, dan CCL dari penyimpanan registri fisik. Penyimpanan fisik tidak dibuka sebagai penyimpanan koleksi. Enumerasi dan pencarian hanya melalui sertifikat, CRL, dan CCL di satu penyimpanan fisik tersebut.
Kata tinggi dwFlags menunjukkan lokasi penyimpanan sistem, biasanya diatur ke CERT_SYSTEM_STORE_CURRENT_USER. Untuk informasi selengkapnya, lihat dwFlags nanti dalam topik ini. Beberapa lokasi penyimpanan sistem dapat dibuka dari jarak jauh; untuk informasi selengkapnya, lihat Lokasi Penyimpanan Sistem. |
|
Sama seperti CERT_STORE_PROV_SYSTEM_REGISTRY_A.
|
[in] dwEncodingType
Menentukan jenis pengodean sertifikat dan jenis pengodean pesan . Pengodean hanya digunakan ketika parameter
Parameter ini hanya berlaku ketika jenis penyedia CERT_STORE_PROV_MSG, CERT_STORE_PROV_PKCS7, atau CERT_STORE_PROV_FILENAME ditentukan dalam parameter lpszStoreProvider. Untuk semua jenis penyedia lainnya, parameter ini tidak digunakan dan harus diatur ke nol.
Parameter ini bisa menjadi kombinasi dari satu atau beberapa nilai berikut.
Nilai | Arti |
---|---|
|
Menentukan pengodean pesan PKCS #7. |
|
Menentukan pengodean sertifikat X.509. |
[in] hCryptProv
Parameter ini tidak digunakan dan harus diatur ke NULL.
Windows Server 2003 dan Windows XP: Handel ke penyedia kriptografi. Meneruskan NULL
[in] dwFlags
Nilai-nilai ini terdiri dari nilai kata tinggi dan kata rendah yang dikombinasikan dengan menggunakan operasi bitwise-OR.
Bagian kata rendah dari dwFlags mengontrol berbagai karakteristik umum penyimpanan sertifikat dibuka. Bagian ini dapat digunakan dengan semua jenis penyedia penyimpanan. Bagian kata rendah dari dwFlags bisa menjadi salah satu nilai berikut.
Nilai | Arti |
---|---|
|
Gunakan SE_BACKUP_NAME utas dan hak istimewa SE_RESTORE_NAME untuk membuka registri atau penyimpanan sistem berbasis file. Jika utas tidak memiliki hak istimewa ini, fungsi ini harus gagal dengan kesalahan akses ditolak. |
|
Penyimpanan baru dibuat jika tidak ada. Fungsi gagal jika penyimpanan sudah ada.
Jika tidak CERT_STORE_OPEN_EXISTING_FLAG atau CERT_STORE_CREATE_NEW_FLAG diatur, penyimpanan dibuka jika ada atau dibuat dan dibuka jika belum ada. |
|
Tangguhkan penutupan penyedia toko sampai semua sertifikat, CRL, atau CCL yang diperoleh dari penyimpanan tidak lagi digunakan. Toko ini benar-benar ditutup ketika sertifikat terakhir, CRL, atau CTL yang diperoleh dari toko dibebaskan. Setiap perubahan yang dilakukan pada properti sertifikat, CRL, dan CCL ini, bahkan setelah panggilan ke CertCloseStore, dipertahankan.
Jika bendera ini tidak diatur dan sertifikat, CRL, atau CCL yang diperoleh dari penyimpanan masih digunakan, setiap perubahan pada properti sertifikat, CRL, dan CCL tersebut tidak akan dipertahankan. Jika fungsi ini dipanggil dengan CERT_CLOSE_STORE_FORCE_FLAG, CERT_STORE_DEFER_CLOSE_UNTIL_LAST_FREE_FLAG diabaikan. Ketika bendera ini diatur dan nilai parameter non- |
|
Penyimpanan dihapus alih-alih dibuka. Fungsi ini mengembalikan NULL untuk keberhasilan dan kegagalan penghapusan. Untuk menentukan keberhasilan penghapusan, panggil GetLastError, yang mengembalikan nol jika penyimpanan dihapus dan nilai bukan nol jika tidak dihapus. |
|
Biasanya, enumerasi semua sertifikat di penyimpanan akan mengabaikan sertifikat apa pun dengan kumpulan properti CERT_ARCHIVED_PROP_ID. Jika bendera ini diatur, enumerasi sertifikat di penyimpanan akan berisi semua sertifikat di penyimpanan, termasuk yang memiliki properti CERT_ARCHIVED_PROP_ID. |
|
Buka penyimpanan dengan sekumpulan maksimum izin yang diizinkan. Jika bendera ini ditentukan, penyimpanan registri pertama kali dibuka dengan akses tulis dan jika gagal, mereka dibuka kembali dengan akses baca-saja. |
|
Bendera ini tidak digunakan ketika parameter |
|
Hanya buka toko yang ada. Jika penyimpanan tidak ada, fungsi gagal. |
|
Buka penyimpanan dalam mode baca-saja. Setiap upaya untuk mengubah konten penyimpanan akan mengakibatkan kesalahan. Ketika bendera ini diatur dan penyedia penyimpanan berbasis registri sedang digunakan, subkunjung registri dibuka dengan menggunakan RegOpenKey dengan KEY_READ_ACCESS. Jika tidak, subkunci registri dibuat dengan menggunakan RegCreateKey dengan KEY_ALL_ACCESS. |
|
Jika bendera ini didukung, penyedia mengatur properti CERT_STORE_LOCALIZED_NAME_PROP_ID penyimpanan. Nama yang dilokalkan dapat diambil dengan memanggil fungsi |
|
Saat membuka penyimpanan beberapa kali, Anda dapat mengatur bendera ini untuk memastikan penggunaan memori yang efisien dengan menggunakan kembali memori untuk bagian sertifikat, CRL, atau konteks CTL yang dikodekan di seluruh instans toko yang dibuka. |
|
Daftar pengidentifikasi kunci ada dalam CurrentUser dan LocalMachine. Pengidentifikasi kunci ini memiliki properti seperti properti sertifikat. Jika CERT_STORE_UPDATE_KEYID_FLAG diatur, maka untuk setiap pengidentifikasi kunci di lokasi toko yang memiliki properti CERT_KEY_PROV_INFO_PROP_ID, properti tersebut secara otomatis diperbarui dari properti pengidentifikasi kunci CERT_KEY_PROV_INFO_PROP_ID atau CERT_KEY_IDENTIFIER_PROP_ID sertifikat yang terkait dengan pengidentifikasi kunci tersebut. |
Jenis penyedia CERT_STORE_PROV_SYSTEM, CERT_STORE_PROV_SYSTEM_REGISTRY, dan CERT_STORE_PROV_PHYSICAL menggunakan kata-kata tinggi berikut dwFlags untuk menentukan lokasi registri penyimpanan sistem:
CERT_SYSTEM_STORE_CURRENT_SERVICE
CERT_SYSTEM_STORE_CURRENT_USER
CERT_SYSTEM_STORE_CURRENT_USER_GROUP_POLICY
CERT_SYSTEM_STORE_LOCAL_MACHINE
CERT_SYSTEM_STORE_LOCAL_MACHINE_ENTERPRISE
CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
CERT_SYSTEM_STORE_SERVICES
CERT_SYSTEM_STORE_USERS
Secara default, lokasi penyimpanan sistem dibuka relatif terhadap kunci registri HKEY_CURRENT_USER, HKEY_LOCAL_MACHINE, atau HKEY_USERS yang telah ditentukan sebelumnya. Untuk informasi selengkapnya, lihat Lokasi Penyimpanan Sistem.
Bendera kata tinggi berikut mengambil alih perilaku default ini.
Nilai | Arti |
---|---|
|
Saat diatur, pvPara harus berisi penunjuk ke struktur CERT_SYSTEM_STORE_RELOCATE_PARA daripada string. Struktur menunjukkan nama toko dan lokasinya di registri. |
|
Secara default, ketika penyimpanan "Root" CurrentUser dibuka, akar SystemRegistry apa pun yang tidak ada di daftar akar yang dilindungi dihapus dari cache sebelum fungsi ini kembali. Ketika bendera ini diatur, default ini ditimpa dan semua akar dalam SystemRegistry dikembalikan dan tidak ada pemeriksaan daftar akar yang dilindungi dibuat. |
Penyedia CERT_STORE_PROV_REGISTRY menggunakan bendera kata tinggi berikut.
Nilai | Arti |
---|---|
|
pvPara berisi handel ke kunci registri di komputer jarak jauh. Untuk mengakses kunci registri pada komputer jarak jauh, izin keamanan pada komputer jarak jauh harus diatur untuk mengizinkan akses. Untuk informasi selengkapnya, lihat Keterangan. |
|
Penyedia CERT_STORE_PROV_REG menyimpan sertifikat, CRL, dan CCL dalam satu subkunci penyimpanan berseri alih-alih melakukan operasi penyimpanan default. Defaultnya adalah bahwa setiap sertifikat, CRL, atau CTL disimpan sebagai subkuncu registri terpisah di bawah subkuncuali yang sesuai.
Bendera ini terutama digunakan untuk penyimpanan yang diunduh dari templat kebijakan grup (GPT), seperti penyimpanan CurrentUserGroupPolicy dan LocalMachineGroupPolicy. Ketika CERT_REGISTRY_STORE_SERIALIZED_FLAG diatur, penambahan penyimpanan, penghapusan, atau perubahan properti tidak dipertahankan sampai ada panggilan ke CertCloseStore atau CertControlStore menggunakan CERT_STORE_CTRL_COMMIT. |
Jenis penyedia CERT_STORE_PROV_FILE dan CERT_STORE_PROV_FILENAME menggunakan bendera kata tinggi berikut.
Nilai | Arti |
---|---|
|
Pengaturan bendera ini menerapkan penambahan apa pun pada penyimpanan atau perubahan apa pun yang dilakukan pada properti konteks di penyimpanan ke penyimpanan file baik ketika CertCloseStore dipanggil atau ketika CertControlStore dipanggil dengan CERT_STORE_CONTROL_COMMIT.
CertOpenStore gagal dengan E_INVALIDARG jika CERT_FILE_STORE_COMMIT_ENABLE dan CERT_STORE_READONLY_FLAG diatur dalam dwFlags. |
Jenis penyedia CERT_STORE_PROV_LDAP menggunakan bendera kata tinggi berikut.
Nilai | Arti |
---|---|
|
Melakukan pencarian DNS khusus A-Record pada URL bernama dalam parameter pvPara |
|
Gunakan bendera ini untuk menggunakan sesi LDAP yang ada. Ketika bendera ini ditentukan, parameter pvPara adalah alamat struktur CERT_LDAP_STORE_OPENED_PARA yang berisi informasi tentang sesi LDAP yang akan digunakan. |
|
Untuk memberikan integritas yang diperlukan oleh beberapa aplikasi, tandatangani semua lalu lintas LDAP secara digital ke dan dari server LDAP dengan menggunakan protokol autentikasi Kerberos. |
|
Gunakan bendera ini dengan bendera CERT_LDAP_STORE_OPENED_FLAG menyebabkan sesi LDAP tidak terikat saat penyimpanan ditutup. Sistem akan membatalkan ikatan sesi LDAP dengan menggunakan fungsi ldap_unbind saat penyimpanan ditutup. |
[in] pvPara
Nilai 32-bit yang dapat berisi informasi tambahan untuk fungsi ini. Konten parameter ini tergantung pada nilai lpszStoreProvider dan parameter lainnya.
Mengembalikan nilai
Jika fungsi berhasil, fungsi mengembalikan handel ke penyimpanan sertifikat . Setelah Anda selesai menggunakan penyimpanan, lepaskan handel dengan memanggil fungsi CertCloseStore.
Jika fungsi gagal, fungsi akan mengembalikan NULL. Untuk informasi kesalahan yang diperluas, panggil GetLastError.
Komentar
Penyimpanan sistem adalah koleksi yang terdiri dari satu atau beberapa toko saudara kandung fisik. Untuk setiap penyimpanan sistem, ada toko saudara kandung fisik yang telah ditentukan sebelumnya. Setelah membuka penyimpanan sistem seperti "My" di CERT_SYSTEM_STORE_CURRENT_USER, CertOpenStore dipanggil untuk membuka semua toko fisik dalam koleksi penyimpanan sistem. Masing-masing penyimpanan fisik ini ditambahkan ke koleksi penyimpanan sistem dengan menggunakan fungsi CertAddStoreToCollection. Semua sertifikat, CRL, dan CCL di penyimpanan fisik tersebut tersedia melalui pengumpulan penyimpanan sistem logis.
Lokasi penyimpanan sistem berikut dapat dibuka dari jarak jauh:
- CERT_SYSTEM_STORE_LOCAL_MACHINE
- CERT_SYSTEM_STORE_LOCAL_MACHINE_GROUP_POLICY
- CERT_SYSTEM_STORE_SERVICES
- CERT_SYSTEM_STORE_USERS
Lokasi penyimpanan sistem dibuka dari jarak jauh dengan awalan nama penyimpanan dalam string yang diteruskan ke pvPara dengan nama komputer. Contoh nama penyimpanan sistem jarak jauh adalah:
- ComputerName \ CA
- \\ComputerName \CA
- ComputerName\ServiceName\Trust
- \\ComputerName\ServiceName\Trust
Untuk informasi selengkapnya tentang penyimpanan sistem, lihat Lokasi Penyimpanan Sistem.
Untuk informasi selengkapnya tentang penyimpanan yang dimigrasikan secara otomatis, lihat Migrasi Penyimpanan Sertifikat.
Contoh
Contoh berikut menunjukkan pembukaan beberapa penyimpanan sertifikat dari berbagai jenis penyedia toko. Contohnya menggunakan fungsi CreateMyDACL, yang ditentukan dalam Membuat topik DACL, untuk memastikan file terbuka dibuat dengan DACL yang tepat. Untuk contoh selengkapnya tentang membuka jenis penyedia penyimpanan lainnya, lihat Contoh Kode C untuk Membuka Penyimpanan Sertifikat.
//-------------------------------------------------------------------
// Open a system store, in this case, the My store.
HCERTSTORE hSysStore = NULL;
if(hSysStore = CertOpenStore(
CERT_STORE_PROV_SYSTEM, // The store provider type
0, // The encoding type is
// not needed
NULL, // Use the default HCRYPTPROV
CERT_SYSTEM_STORE_CURRENT_USER, // Set the store location in a
// registry location
L"MY" // The store name as a Unicode
// string
))
{
printf("The system store was created successfully.\n");
}
else
{
printf("An error occurred during creation "
"of the system store!\n");
exit(1);
}
// Other common system stores include "Root", "Trust", and "Ca".
//-------------------------------------------------------------------
// Open a memory store.
HCERTSTORE hMemStore = NULL;
if(hMemStore = CertOpenStore(
CERT_STORE_PROV_MEMORY, // The memory provider type
0, // The encoding type is not needed
NULL, // Use the default HCRYPTPROV
0, // Accept the default dwFlags
NULL // pvPara is not used
))
{
printf("The memory store was created successfully.\n");
}
else
{
printf("An error occurred during creation "
"of the memory store!\n");
exit(1);
}
//-------------------------------------------------------------------
// Open a read-only store from disk.
HANDLE hFile = NULL;
HCERTSTORE hFileStore = NULL;
LPCSTR pszFileName = "TestStor2.sto";
SECURITY_ATTRIBUTES sa; // For DACL
// Create a DACL to use when opening the file.
sa.nLength = sizeof(SECURITY_ATTRIBUTES);
sa.bInheritHandle = FALSE;
// Call function to set the DACL. The DACL is set in the
// SECURITY_ATTRIBUTES lpSecurityDescriptor member.
if (!CreateMyDACL(&sa))
{
// Error encountered; generate message and exit.
printf("Failed CreateMyDACL.\n");
exit(1);
}
// Obtain the file handle of an existing file.
if (hFile = CreateFile(
pszFileName, // The file name
GENERIC_READ|GENERIC_WRITE, // Access mode: Read from and
// write to this file
0, // Share mode
&sa, // Uses the DACL created
// previously
OPEN_ALWAYS, // How to create
FILE_ATTRIBUTE_NORMAL, // File attributes
NULL)) // Template
{
printf("The file was opened successfully.\n");
}
else
{
printf("An error occurred during opening of the file!\n");
exit(1);
}
//-------------------------------------------------------------------
// This file can contain data before the store itself.
// At this point, read and use data in the open file that precedes
// the serialized certificate store data.
// To open the certificate store, the file pointer must
// be placed at the beginning of the certificate store data.
//-------------------------------------------------------------------
// Open the store.
if(hFileStore = CertOpenStore(
CERT_STORE_PROV_FILE, // Load certificates from a file
0, // Encoding type not used
NULL, // Use the default HCRYPTPROV
CERT_STORE_READONLY_FLAG, // Read-only store
hFile // The handle for the open file
// that is the source of the
// certificates
))
{
printf("The file store was created successfully.\n");
}
else
{
printf("An error occurred during creation of the file store!\n");
exit(1);
}
//-------------------------------------------------------------------
// After processing, close the certificate stores and the file.
if(CertCloseStore(
hSysStore,
CERT_CLOSE_STORE_CHECK_FLAG))
{
printf("The system store was closed successfully.\n");
}
else
{
printf("An error occurred during closing of the "
"system store.\n");
}
if(CertCloseStore(
hMemStore,
CERT_CLOSE_STORE_CHECK_FLAG))
{
printf("The memory store was closed successfully.\n");
}
else
{
printf("An error occurred during closing of the "
"memory store.\n");
}
if(CertCloseStore(
hFileStore,
CERT_CLOSE_STORE_CHECK_FLAG))
{
printf("The file store was closed successfully.\n");
}
else
{
printf("An error occurred during closing of the file store.\n");
}
if(CloseHandle(hFile))
{
printf("The file was closed successfully.\n");
}
else
{
printf("An error occurred during closing of the file.\n");
}
Persyaratan
Syarat | Nilai |
---|---|
klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
server minimum yang didukung |
Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Platform Target |
Windows |
Header |
wincrypt.h |
Pustaka |
Crypt32.lib |
DLL |
Crypt32.dll |
Lihat juga
CERT_SYSTEM_STORE_RELOCATE_PARA
CertCloseStore
Fungsi Penyimpanan Sertifikat