2012-08-28 45 views

回答

5
  1. 與地鐵API一起採取的一般立場是「如果有一個Ex函數或某種東西取代它,你必須調用新的。對於8位字符串(出於歷史原因,錯誤地命名爲「ANSI編碼」)版本的函數也是如此。除此之外,這可以保持Windows RT的代碼大小。

  2. 讓我們來分析一下CopyFile2 ...對於其中一個,options參數現在是一個具有第一個成員大小的結構。我認爲這比未來的擴展性更好,這是CopyFileEx。這使Microsoft可以添加新的選項,同時保持與舊呼叫者的二進制兼容性。 (微軟可以延長結構的長度,然後檢查dwSize以確定你有什麼版本的結構,並相應地調整它的行爲。)這僅僅使得它比將要求函數簽名改變的CopyFileEx更具前景證明(因此是完全的新功能)添加一個選項。 (我還沒有仔細看,也許他們已經CopyFile2增加一個選項,以及...)

+0

還有的「更廣泛的規則,如果有一個防爆功能,他們希望他們能回到過去時間並以這種方式開始「,通常會增加一個」看,我們非常抱歉,在Ex版本中看起來更好,沒關係「。儘管大多數情況下,這只是事後看來的好處。我們都有代碼,我們希望我們可以爆炸,如果我們有機會得到更乾淨的(大部分時間)。 –

+0

@JonHanna - 實際上,我個人認爲一些'Ex'函數是不必要的,它在實踐中變成了簡單而優雅的界面。 (注意相比之下,在Unix世界中改變系統調用的簽名是多麼的罕見 - 你可能會說更好或者更糟)。這就是說,我試圖說明這個思路。 – asveikau

+0

這是同一枚硬幣的另一面,讓他們通過只有一個功能擺脫殘餘(儘管考慮到,有些表格比其他人更難以看清需求)。 –