Bagikan melalui


PIMAGEHLP_STATUS_ROUTINE fungsi panggilan balik (imagehlp.h)

Fungsi panggilan balik yang ditentukan aplikasi yang digunakan dengan fungsi BindImageEx . Rutinitas status dipanggil selama proses pengikatan gambar.

Jenis PIMAGEHLP_STATUS_ROUTINE menentukan penunjuk ke fungsi panggilan balik ini. StatusRoutine adalah tempat penampung untuk nama fungsi yang ditentukan aplikasi.

Sintaks

PIMAGEHLP_STATUS_ROUTINE PimagehlpStatusRoutine;

BOOL PimagehlpStatusRoutine(
  [in] IMAGEHLP_STATUS_REASON Reason,
  [in] PCSTR ImageName,
  [in] PCSTR DllName,
  [in] ULONG_PTR Va,
  [in] ULONG_PTR Parameter
)
{...}

Parameter

[in] Reason

Status operasi ikatan saat ini. Parameter ini bisa menjadi salah satu nilai berikut.

Nilai Makna
BindOutOfMemory
0
Kehabisan memori. Nilai Parameter adalah jumlah byte dalam upaya alokasi.
BindRvaToVaFailed
1
Alamat virtual relatif tidak valid untuk gambar. Nilai Parameter tidak digunakan.
BindNoRoomInImage
2
Tidak ada ruang dalam gambar untuk tabel impor format baru. Nilai Parameter tidak digunakan.
BindImportModuleFailed
3
Impor modul gagal. Nilai Parameter tidak digunakan.
BindImportProcedureFailed
4
Impor prosedur gagal. Nilai Parameter adalah nama fungsi.
BindImportModule
5
Impor modul dimulai. Nilai Parameter tidak digunakan.
BindImportProcedure
6
Impor prosedur dimulai. Nilai Parameter adalah nama fungsi.
BindForwarder
7
Nilai Parameter adalah nama fungsi yang diteruskan.
BindForwarderNOT
8
Nilai Parameter adalah nama fungsi yang tidak diteruskan.
BindImageModified
9
Gambar dimodifikasi. Nilai Parameter tidak digunakan.
BindExpandFileHeaders
10
Header file diperluas. Nilai Parameter adalah jumlah byte
BindImageComplete
11
Pengikatan selesai. Untuk informasi selengkapnya tentang nilai Parameter , lihat bagian Keterangan berikut ini.
BindMismatchedSymbols
12
Checksum tidak cocok. Nilai Parameter adalah nama file simbol.
BindSymbolsNotUpdated
13
File simbol tidak diperbarui. Nilai Parameter adalah nama file simbol yang tidak diperbarui.

[in] ImageName

Nama file yang akan diikat. Nilai ini bisa berupa nama file, jalur parsial, atau jalur lengkap.

[in] DllName

Nama DLL.

[in] Va

Alamat virtual yang dihitung.

[in] Parameter

Informasi status tambahan apa pun. Nilai ini tergantung pada nilai parameter Alasan . Untuk informasi selengkapnya, lihat fragmen kode di bagian Keterangan berikut.

Mengembalikan nilai

Jika fungsi berhasil, nilai yang dikembalikan adalah TRUE.

Jika fungsi gagal, nilai yang dikembalikan adalah FALSE. Untuk mengambil informasi kesalahan yang diperluas, panggil GetLastError.

Keterangan

Semua fungsi ImageHlp, seperti ini, adalah utas tunggal. Oleh karena itu, panggilan dari lebih dari satu utas ke fungsi ini kemungkinan akan mengakibatkan perilaku tak terduga atau kerusakan memori. Untuk menghindari hal ini, Anda harus menyinkronkan semua panggilan bersamaan dari lebih dari satu utas ke fungsi ini.

Fragmen kode berikut menjelaskan cara menggunakan nilai Va saat statusnya adalah BindImageComplete.

case BindImageComplete:
    if (fVerbose) {
        fprintf(stderr, "BIND: Details of binding %s\n", ImageName );
        NewImports = (PIMAGE_BOUND_IMPORT_DESCRIPTOR)Va;
        NewImport = NewImports;
        while (NewImport->OffsetModuleName) {
            fprintf( stderr, "    Import from %s [%x]",
                     (LPSTR)NewImports + NewImport->OffsetModuleName,
                     NewImport->TimeDateStamp
                   );
            if (NewImport->NumberOfModuleForwarderRefs != 0) {
                fprintf( stderr, " with %u forwarders", NewImport-> 
                         NumberOfModuleForwarderRefs );
            }
            fprintf( stderr, "\n" );
            NewForwarder = (PIMAGE_BOUND_FORWARDER_REF)(NewImport+1);
            for (i=0; i<NewImport->NumberOfModuleForwarderRefs; i++) 
            {
                fprintf( stderr, "        Forward to %s [%x]\n",
                   (LPSTR)NewImports + NewForwarder->OffsetModuleName,
                   NewForwarder->TimeDateStamp);
                NewForwarder += 1;
            }
            NewImport = (PIMAGE_BOUND_IMPORT_DESCRIPTOR)NewForwarder;
        }
    }
    break;

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 imagehlp.h

Lihat juga

BindImageEx

ImageHlp Functions