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.
Mengambil teks dari posisi yang ditentukan dalam dokumen.
Sintaks
Parameter
pos
[di] Struktur TEXT_POSITION yang menunjukkan lokasi teks yang akan diambil.
cMaxChars
[di] Jumlah maksimum karakter teks yang akan diambil.
pText
[masuk, keluar] Penunjuk ke buffer yang akan diisi dengan teks yang diinginkan. Buffer ini harus dapat berisi setidaknya cMaxChars jumlah karakter lebar.
pcNumChars
[out] Mengembalikan jumlah karakter yang benar-benar diambil.
Tampilkan Nilai
Jika berhasil, mengembalikan S_OK; jika tidak, mengembalikan kode galat.
Contoh
Contoh ini menunjukkan bagaimana metode ini dapat dipanggil dari C#.
using System.Runtime.Interop.Services;
using Microsoft.VisualStudio;
using Microsoft.VisualStudio.Debugger.Interop;
namespace Mynamespace
{
class MyClass
{
string GetDocumentText(IDebugDocumentText2 pText, TEXT_POSITION pos)
{
string documentText = string.Empty;
if (pText != null)
{
uint numLines = 0;
uint numChars = 0;
int hr;
hr = pText.GetSize(ref numLines, ref numChars);
if (ErrorHandler.Succeeded(hr))
{
IntPtr buffer = Marshal.AllocCoTaskMem((int)numChars * sizeof(char));
uint actualChars = 0;
hr = pText.GetText(pos, numChars, buffer, out actualChars);
if (ErrorHandler.Succeeded(hr))
{
documentText = Marshal.PtrToStringUni(buffer, (int)actualChars);
}
Marshal.FreeCoTaskMem(buffer);
}
}
return documentText;
}
}
}