ReadConsoleOutputAttribute 函式

重要

本文件說明已不再是生態系統 藍圖一部分的控制台平臺功能。 我們不建議您在新產品中使用此內容,但我們將繼續支持無限期的未來現有使用量。 我們慣用的新式解決方案著重於 虛擬終端機序列 ,以在跨平臺案例中達到最大相容性。 您可以在傳統 主控台與虛擬終端機 檔中找到此設計決策的詳細資訊。

從主控台畫面緩衝區的連續儲存格複製指定的字元屬性數目,從指定的位置開始。

語法

BOOL WINAPI ReadConsoleOutputAttribute(
  _In_  HANDLE  hConsoleOutput,
  _Out_ LPWORD  lpAttribute,
  _In_  DWORD   nLength,
  _In_  COORD   dwReadCoord,
  _Out_ LPDWORD lpNumberOfAttrsRead
);

參數

hConsoleOutput [in]
主控台螢幕緩衝區的控點。 句柄必須具有 GENERIC_READ 訪問許可權。 如需詳細資訊,請參閱主控台緩衝區安全性和存取權限

lpAttribute [out]
緩衝區的指標,接收控制台畫面緩衝區所使用的屬性。

如需詳細資訊,請參閱 字元屬性

nLength [in]
要從中讀取的螢幕緩衝區字元儲存格數目。 lpAttribute 參數指向的緩衝區大小應該是 nLength * sizeof(WORD)

dwReadCoord [in]
控制台畫面緩衝區中第一個單元格的座標,要從中讀取,以字元為單位。 COORD 結構的 X 成員是數據行,而 Y 成員則是數據列。

lpNumberOfAttrsRead [out]
接收實際讀取屬性數目之變數的指標。

傳回值

如果函式成功,則傳回非零的值。

如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError

備註

如果要從讀取的屬性數目超出指定畫面緩衝區數據列結尾,則會從下一個數據列讀取屬性。 如果要讀取的屬性數目超出控制台畫面緩衝區結尾,則會讀取控制台畫面緩衝區的結尾。

提示

不建議使用此 API,而且沒有 虛擬終端機 對等專案。 此決策會刻意讓 Windows 平臺與其他作業系統保持一致,其中個別用戶端應用程式預期會記住自己的繪製狀態,以便進一步操作。 透過跨平臺公用程式和 SSH 之類的傳輸進行遠端處理的應用程式在使用這個 API 時可能無法如預期般運作。

需求

   
最低支援的用戶端 Windows 2000 Professional [僅限傳統型應用程式]
最低支援的伺服器 Windows 2000 Server [僅限傳統型應用程式]
頁首 ConsoleApi2.h (透過 WinCon.h,包含 Windows.h)
程式庫 Kernel32.lib
DLL Kernel32.dll

另請參閱

主控台函式

COORD

低階主控台輸出函式

ReadConsoleOutput

ReadConsoleOutputCharacter

WriteConsoleOutput

WriteConsoleOutputAttribute

WriteConsoleOutputCharacter