?? 符號鏈接設備接口的打開.txt
字號:
驅(qū)動程序:
1.創(chuàng)建符號鏈接:
UNICODE_STRING deviceName, linkName;//定義兩個UNICODE_STRING類型的字符串
RtlInitUnicodeString( &deviceName, NT_DEVICE_NAME);//填充該結(jié)構(gòu)
RtlInitUnicodeString( &linkName, SYM_LINK_NAME);
// Create our device
DebugPrint("Creating device %T",&deviceName);//創(chuàng)建設備對象
status = IoCreateDevice(
DriverObject,
sizeof(PHDIO_DEVICE_EXTENSION),
&deviceName,
FILE_DEVICE_UNKNOWN,
0,
TRUE, // Exclusive
&phddo);
if( !NT_SUCCESS(status))
{
DebugPrintMsg("Could not create device");
return status;
}
DebugPrint("Creating symbolic link %T",&linkName);
status = IoCreateSymbolicLink( &linkName, &deviceName);//創(chuàng)建符號連接
if( !NT_SUCCESS(status))
{
DebugPrintMsg("Could not create symbolic link");
IoDeleteDevice(phddo);
return status;
}
應用程序
2.打開已經(jīng)創(chuàng)建的符號連接:
HANDLE hLocalDevice;
// 打開設備
hLocalDevice= ::CreateFile(lpszDevicePath, // 設備路徑
GENERIC_READ | GENERIC_WRITE, // 讀寫方式
FILE_SHARE_READ | FILE_SHARE_WRITE, // 共享方式
NULL, // 默認的安全描述符
OPEN_EXISTING, // 創(chuàng)建方式
0, // 不需設置文件屬性
NULL);
其中l(wèi)pszDevicePath為設備路徑:\\\\.\\SymbolicLinkName;
?? 快捷鍵說明
復制代碼
Ctrl + C
搜索代碼
Ctrl + F
全屏模式
F11
切換主題
Ctrl + Shift + D
顯示快捷鍵
?
增大字號
Ctrl + =
減小字號
Ctrl + -