RpcErrorGetNextRecord (rpcasync.h)
Fungsi RpcErrorGetNextRecord mengambil catatan informasi kesalahan yang diperluas berikutnya untuk handel enumerasi.
Sintaks
RPC_STATUS RpcErrorGetNextRecord(
[in] RPC_ERROR_ENUM_HANDLE *EnumHandle,
[in] BOOL CopyStrings,
[out] RPC_EXTENDED_ERROR_INFO *ErrorInfo
);
Parameter
[in] EnumHandle
Arahkan ke handel enumerasi, dalam bentuk struktur RPC_ERROR_ENUM_HANDLE . Struktur harus dialokasikan oleh pemanggil, dan tidak dapat dikosongkan sampai operasi selesai. Semua anggota diabaikan pada input.
[in] CopyStrings
Menentukan apakah bidang string di ErrorInfo disalin ke timbunan sistem default, di mana kepemilikan titik buffer tersebut ditransfer ke pemanggil.
TRUE menunjukkan string akan disalin ke timbunan sistem.
FALSE menunjukkan string dalam ErrorInfo menunjuk ke struktur data RPC internal; pemanggil tidak dapat membebaskan atau menulis kepada mereka, dan mereka menjadi tidak valid setelah fungsi RpcErrorEndEnumeration dipanggil.
[out] ErrorInfo
Arahkan ke struktur RPC_EXTENDED_ERROR_INFO . Lihat Keterangan.
Nilai kembali
Jika CopyStrings salah, panggilan fungsi tidak dapat gagal kecuali parameternya tidak valid. Ketika rekaman kesalahan yang diperluas terakhir diambil, RpcErrorGetNextRecord mengembalikan RPC_S_OK. Setiap panggilan berikutnya mengembalikan RPC_S_ENTRY_NOT_FOUND.
Setelah kesalahan apa pun, posisi enumerasi tidak dimajukan.
Keterangan
Setelah input, bidang berikut harus diatur di ErrorInfo:
- Versi harus diatur ke RPC_EEINFO_VERSION.
- NumberOfParameters harus diatur ke nilai antara nol dan MaxNumberOfEEInfoParams. Penelepon bebas menyediakan ruang untuk sejumlah parameter. Jika jumlah parameter yang disediakan oleh pemanggil lebih kecil dari jumlah parameter dalam catatan kesalahan yang diperluas, RPC_S_BUFFER_TOO_SMALL dikembalikan.
- Bendera harus nol, atau EEInfoUseFileTime harus ditentukan. Jika Bendera nol, anggota SystemTime dari u union digunakan. Jika EEInfoUseFileTime ditentukan, anggota FileTime dari u union digunakan.
Setelah output, bidang di ErrorInfo diisi sebagai berikut:
- Versi tidak berubah.
- ComputerName adalah NULL jika tidak ada nama komputer dalam rekaman, atau string Unicode jika nama komputer memang ada di rekaman informasi kesalahan yang diperluas. Jika NULL, rekaman terakhir dengan nama komputer dapat diasumsikan, namun, nama komputer mungkin telah dihilangkan untuk memori yang tidak memadai. ComputerName adalah nama DNS yang tidak memenuhi syarat.
- ProcessID adalah PID dari proses asal rekaman.
- SystemTime atau FileTime adalah waktu rekaman dibuat, dinyatakan dalam UCT, untuk mesin tempat rekaman dibuat. FileTime atau SystemTime valid, berdasarkan apakah EEInfoUseFileTime digunakan.
- GeneratingComponent adalah kode untuk komponen pembuatan.
- Status adalah kode status untuk rekaman.
- DetectionLocation adalah kode untuk lokasi deteksi.
- Bendera menentukan apakah rekaman hilang. Jika satu atau beberapa rekaman hilang setelah rekaman saat ini hilang, EEInfoNextRecordsMissing diatur. Jika satu atau beberapa rekaman sebelum rekaman saat ini hilang, EEInfoPreviousRecordsMissing diatur.
- NumberOfParameters menentukan jumlah parameter yang sebenarnya. Jika pemanggil menentukan ruang untuk lebih banyak parameter pada input daripada yang ada di rekaman, bidang ini berisi jumlah parameter yang digunakan.
- Parameter adalah parameter aktual, disediakan sebagai array struktur RPC_EE_INFO_PARAM dengan struktur NumberOfParameters .
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows XP [aplikasi desktop | Aplikasi UWP] |
Server minimum yang didukung | Windows Server 2003 [aplikasi desktop | Aplikasi UWP] |
Target Platform | Windows |
Header | rpcasync.h (termasuk Rpc.h) |
Pustaka | Rpcrt4.lib |
DLL | Rpcrt4.dll |