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 |