Friday, August 11, 2006

Windows Dirver 自動安裝的作法

1. 準備好 inf 跟 sys 檔案。 2. 呼叫 SetupCopyOEMInf(), 其 prototype :
BOOL WINAPI SetupCopyOEMInf(
PCTSTR SourceInfFileName,
  PCTSTR OEMSourceMediaLocation,
  DWORD OEMSourceMediaType,
  DWORD CopyStyle,
  PTSTR DestinationInfFileName,
  DWORD DestinationInfFileNameSize,
  PDWORD RequiredSize,
  PTSTR DestinationInfFileNameComponent
); 
CopyStyle 比較機車一點,SP_COPY_DELETESOURCE 會把原始的 INF 檔案砍掉。我是選SP_COPY_NOOVERWRITE,這樣似乎每次呼叫 SetupCopyOEMInf() 都會成功的樣子。
SetupCopyOEMInf() 會把你的INF copy 到 Windows\Inf\ 下面,並且 rename 為 oemXX.inf,
然後為這個 INF 檔產生相對應的 PNF 檔案。之後如果你把相對應的 Device 插進 PC 內,
Windows會去找尋這些 oemXX.inf 檔案,然後自動幫你把 driver 安裝到好。

至於 sys 檔案勒?這個就再研究了。

No comments:

codeblock