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.
[Manajer Penyimpanan yang Dapat Dilepas tidak lagi tersedia untuk digunakan pada Windows 7 dan Windows Server 2008 R2.]
Fungsi AllocateNtmsMedia mengalokasikan sepotong media yang tersedia.
Sintaks
DWORD AllocateNtmsMedia(
[in] HANDLE hSession,
[in] LPNTMS_GUID lpMediaPool,
[in] LPNTMS_GUID lpPartition,
[out] LPNTMS_GUID lpMediaId,
[in] DWORD dwOptions,
[in] DWORD dwTimeout,
[out] LPNTMS_ALLOCATION_INFORMATION lpAllocateInformation
);
Parameter
[in] hSession
Tangani ke sesi yang dikembalikan oleh fungsi OpenNtmsSession .
[in] lpMediaPool
Pengidentifikasi unik kumpulan media tempat media akan dialokasikan. Hanya kumpulan aplikasi yang dapat ditentukan untuk alokasi.
[in] lpPartition
Pengidentifikasi bagian dari sisi yang akan digunakan sebagai pengidentifikasi media logis (LMID). Sisi harus dalam status Tersedia atau Impor. Fitur ini dapat digunakan untuk mengalokasikan sisi tertentu atau untuk mengimpor media. Parameter ini bersifat opsional.
[out] lpMediaId
LMID dari media yang dialokasikan. Parameter ini adalah NULL jika media tidak dapat dialokasikan.
[in] dwOptions
Opsi. Parameter ini bisa menjadi satu atau beberapa nilai berikut.
[in] dwTimeout
Waktu maksimum yang diizinkan untuk mengalokasikan media yang ditentukan, dalam milidetik. Jika parameter ini INFINITE, fungsi tidak akan kehabisan waktu. Jika parameter ini nol, parameter akan menunggu media. Perhatikan bahwa fungsi ini tidak mengantre permintaan untuk lebih banyak media jika parameter dwOptions menentukan NTMS_ALLOCATE_ERROR_IF_UNAVAILABLE.
[out] lpAllocateInformation
Penunjuk ke struktur NTMS_ALLOCATION_INFORMATION yang menerima kumpulan media sumber tempat media diambil. Parameter ini bisa NULL.
Menampilkan nilai
Fungsi ini mengembalikan salah satu nilai berikut.
| Nilai | Makna |
|---|---|
|
NTMS_CONTROL_ACCESS ke kumpulan media ditolak. Kesalahan keamanan lainnya juga dimungkinkan, tetapi akan menunjukkan kesalahan subsistem keamanan.
Windows XP: NTMS_MODIFY_ACCESS ke kumpulan media ditolak. |
|
Operator membatalkan permintaan media baru. |
|
Database tidak dapat diakses atau rusak. |
|
Database penuh. |
|
Sumber daya perantara tidak tersedia; misalnya, kumpulan media gratis tidak tersedia. |
|
Handel sesi hilang atau tidak valid. |
|
ID partisi atau LMID tidak valid saat input saat menggunakan bendera NTMS_ALLOCATE_NEXT. |
|
ID kumpulan media tidak valid. |
|
ID media atau kumpulan media hilang. |
|
Media yang ditentukan sedang offline dan tidak dapat dialokasikan. |
|
Tidak ada media yang dialokasikan dalam peristiwa waktu habis yang ditentukan. |
|
Terjadi kegagalan alokasi selama pemrosesan. |
|
Fungsi berhasil. |
|
Peristiwa waktu habis kedaluwarsa sebelum media tersedia. |
Keterangan
Fungsi AllocateNtmsMedia mengembalikan LMID. Bergantung pada kebijakan kumpulan media, jika kumpulan media yang ditentukan tidak berisi media yang Tersedia online, AllocateNtmsMedia mungkin mencari kumpulan media gratis untuk media yang ditentukan untuk berpindah ke kumpulan media yang ditentukan. Media dari kumpulan media yang ditunjuk dialokasikan terlebih dahulu, dan kemudian media gratis dipindahkan dan dialokasikan.
Jika kumpulan media berisi media online yang Tersedia, media dari kumpulan dialokasikan.
Jika kumpulan media dikonfigurasi untuk mengalokasikan media dari kumpulan gratis secara otomatis, dan kumpulan gratis berisi media online Tersedia, media dipindahkan ke kumpulan yang ditentukan dan dialokasikan.
Windows Server 2003: Jika media dialokasikan dari kumpulan gratis, diperlukan NTMS_USE_ACCESS ke kolam renang gratis dan NTMS_CONTROL_ACCESS ke kumpulan tujuan. Jika kumpulan gratis bukan kumpulan media sumber, NTMS_CONTROL_ACCESS diperlukan pada kumpulan sumber dan tujuan.
Ketika nilai NTMS_ALLOCATE_NEXT ditentukan, parameter lpMediaId harus menunjuk ke ID media yang valid pada saat pemanggilan. Dalam hal ini, lpMediaId digunakan sebagai parameter IN dan OUT. Sisi berikutnya dari media beberapa sisi yang ditentukan oleh lpMediaId dialokasikan, dan ID partisi baru dikembalikan melalui lpMediaId (menimpa ID media asli yang diteruskan).
Jika NTMS_ALLOCATE_ERROR_IF_UNAVAILABLE ditentukan, ERROR_MEDIA_ TIDAK TERSEDIA dikembalikan jika tidak ada media yang tersedia.
Jika perlu, RSM menghasilkan permintaan operator untuk menyisipkan media baru atau Tersedia. Jika waktu yang ditentukan dalam parameter dwTimeout berlalu sebelum permintaan operator ditangani, RSM mengembalikan ERROR_TIMEOUT dan menghapus permintaan operator.
Jika pengguna membatalkan permintaan alokasi, RSM mengembalikan ERROR_CANCELLED.
Jika pengguna menunjukkan bahwa permintaan operator telah terpenuhi, permintaan akan dihapus dan RSM mencoba kembali prosesnya.
Ketika aplikasi memerlukan media baru yang berisi data, pengguna atau administrator menempatkan media di pustaka atau drive. RSM mengidentifikasi media dan menempatkannya di kumpulan impor. Aplikasi mencari kumpulan impor, memindahkan media ke kumpulan aplikasinya dan mengalokasikannya. Proses rutin ini dapat disederhanakan dan dibuat atomik melalui satu panggilan ke AllocateNtmsMedia. Setelah mencari kumpulan impor, aplikasi dapat memanggil AllocateNtmsMedia, meneruskan ID partisi sisi sebagai nilai parameter lpPartId . RSM kemudian:
- memindahkan media ke kumpulan media yang ditentukan.
- mengubah status media untuk dialokasikan.
- mengembalikan LMID.
Persyaratan
| Klien minimum yang didukung | Windows XP [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2003 [hanya aplikasi desktop] |
| Target Platform | Windows |
| Header | ntmsapi.h |
| Pustaka | Ntmsapi.lib |
| DLL | Ntmsapi.dll |