20楼#
发布于:2007-03-29 19:41
楼上正解
|
|
21楼#
发布于:2007-04-24 14:43
int ConvertFileNameWCHARToCHAR(PWCHAR pWChar,PCHAR pChar)
{ UNICODE_STRING usFileName; ANSI_STRING asFileName; RtlInitUnicodeString(&usFileName, pWChar); asFileName.Length = 0; asFileName.MaximumLength = MAX_PATH; asFileName.Buffer = pChar; RtlUnicodeStringToAnsiString(&asFileName, &usFileName, FALSE); pChar[asFileName.Length] = 0; return asFileName.Length; } |
|
22楼#
发布于:2007-09-15 10:21
![]() |
|
23楼#
发布于:2007-10-03 19:27
[quote]引用第19楼yandong_8212于2007-03-29 18:21发表的 :
paladinii 是骗人的,正确方法是: 1)定义全局变量ANSI_STRING gAS,在DriverEntry初始化.最后释放. 2) PCHAR 感谢yandong_8212无私奉献的精神,国庆假期把这一课补上了 NTSTATUS DriverEntry ( IN PDRIVER_OBJECT DriverObject, IN PUNICODE_STRING RegistryPath ) { UNICODE_STRING usString={0,0,0}; WCHAR ubuf[30]={L'\0'}; CHAR abuf[60]={'\0'}; int ubufLen=sizeof ubuf; ANSI_STRING asString={0,0,0}; swprintf(ubuf,L"asas"); RtlInitUnicodeString(&usString,ubuf); DebugPrint(("%wZ\n",&usString)); //能显示 RtlInitUnicodeString(&usString,L"哈哈"); DebugPrint(("%wZ\n",&usString));//什么都打印不出 asString.Length = 0; asString.MaximumLength = sizeof abuf; asString.Buffer = abuf; RtlUnicodeStringToAnsiString(&asString, &usString, FALSE); DebugPrint(("%s\n",asString.Buffer));//显示“哈哈” DriverObject-> DriverUnload = DriverUnload; return STATUS_SUCCESS; } |
|
上一页
下一页