通訊資源句柄
進程會使用 CreateFile 函式來開啟通訊資源的句柄。 例如,指定 COM1 會開啟序列埠的句柄,而 LPT1 會開啟平行埠的句柄。 如果指定的資源目前正由另一個進程使用, CreateFile 會失敗。 進程的任何線程都可以使用 CreateFile 傳回的句柄來識別任何存取資源的函式中的資源。
當行程呼叫 CreateFile 以開啟通訊資源時,它會指定下列屬性:
- 指定資源的讀取/寫入存取權類型存在。
- 子進程是否可以繼承句柄。
- 句柄是否可用於重疊的 (異步) I/O 作業。 (如需重迭作業的描述,請參閱 Synchronization.)
當行程使用 CreateFile 開啟通訊資源時,它必須指定下列參數的特定值:
- fdwShareMode 參數必須是零,開啟資源進行獨佔存取。
- fdwCreate 參數必須指定OPEN_EXISTING旗標。
- hTemplateFile 參數必須是 NULL。
使用 CreateFile 直接開啟裝置的句柄時,應用程式必須使用特殊字元 “\\ .\” 來識別裝置。 例如,若要開啟磁碟驅動器 A 的句柄,請針對 CreateFile 的 lpszName 參數指定 \\ .\a: 。 呼叫程式可以使用 DeviceIoControl 函式中的句柄,將控制碼傳送至裝置。