亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? mailslot.c

?? 這是一個開放源代碼的與WINNT/WIN2K/WIN2003兼容的操作系統
?? C
字號:
/* $Id: mailslot.c 21828 2006-05-07 12:48:45Z ekohl $
 *
 * COPYRIGHT:       See COPYING in the top level directory
 * PROJECT:         ReactOS system libraries
 * FILE:            lib/kernel32/file/mailslot.c
 * PURPOSE:         Mailslot functions
 * PROGRAMMER:      Ariadne ( ariadne@xs4all.nl)
 * UPDATE HISTORY:
 */

/* INCLUDES *****************************************************************/

#include <k32.h>

#define NDEBUG
#include "../include/debug.h"

/* FUNCTIONS ****************************************************************/

/*
 * @implemented
 */
HANDLE STDCALL
CreateMailslotA(LPCSTR lpName,
		DWORD nMaxMessageSize,
		DWORD lReadTimeout,
		LPSECURITY_ATTRIBUTES lpSecurityAttributes)
{
   HANDLE MailslotHandle;
   UNICODE_STRING NameU;
   ANSI_STRING NameA;

   RtlInitAnsiString(&NameA, (LPSTR)lpName);
   RtlAnsiStringToUnicodeString(&NameU, &NameA, TRUE);

   MailslotHandle = CreateMailslotW(NameU.Buffer,
				    nMaxMessageSize,
				    lReadTimeout,
				    lpSecurityAttributes);

   RtlFreeUnicodeString(&NameU);

   return(MailslotHandle);
}


/*
 * @implemented
 */
HANDLE STDCALL
CreateMailslotW(LPCWSTR lpName,
		DWORD nMaxMessageSize,
		DWORD lReadTimeout,
		LPSECURITY_ATTRIBUTES lpSecurityAttributes)
{
   OBJECT_ATTRIBUTES ObjectAttributes;
   UNICODE_STRING MailslotName;
   HANDLE MailslotHandle;
   NTSTATUS Status;
   BOOLEAN Result;
   LARGE_INTEGER DefaultTimeOut;
   IO_STATUS_BLOCK Iosb;
   ULONG Attributes = OBJ_CASE_INSENSITIVE;
   PSECURITY_DESCRIPTOR SecurityDescriptor = NULL;

   Result = RtlDosPathNameToNtPathName_U(lpName,
					 &MailslotName,
					 NULL,
					 NULL);
   if (!Result)
     {
	SetLastError(ERROR_PATH_NOT_FOUND);
	return(INVALID_HANDLE_VALUE);
     }

   DPRINT("Mailslot name: %wZ\n", &MailslotName);

   if(lpSecurityAttributes)
     {
       SecurityDescriptor = lpSecurityAttributes->lpSecurityDescriptor;
       if(lpSecurityAttributes->bInheritHandle)
          Attributes |= OBJ_INHERIT;
     }

   InitializeObjectAttributes(&ObjectAttributes,
			      &MailslotName,
			      Attributes,
			      NULL,
			      SecurityDescriptor);

   if (lReadTimeout == MAILSLOT_WAIT_FOREVER)
   {
      /* Set the max */
      DefaultTimeOut.LowPart = 0;
      DefaultTimeOut.HighPart = 0x80000000;
   }
   else
   {
      /* Convert to NT format */
      DefaultTimeOut.QuadPart = UInt32x32To64(-10000, lReadTimeout);
   }

   Status = NtCreateMailslotFile(&MailslotHandle,
				 GENERIC_READ | SYNCHRONIZE | WRITE_DAC,
				 &ObjectAttributes,
				 &Iosb,
				 FILE_WRITE_THROUGH,
				 0,
				 nMaxMessageSize,
				 &DefaultTimeOut);

   RtlFreeHeap(RtlGetProcessHeap(),
               0,
               MailslotName.Buffer);

   if (!NT_SUCCESS(Status))
     {
	DPRINT("NtCreateMailslot failed (Status %x)!\n", Status);
	SetLastErrorByStatus (Status);
	return(INVALID_HANDLE_VALUE);
     }

   return(MailslotHandle);
}


/*
 * @implemented
 */
BOOL STDCALL
GetMailslotInfo(HANDLE hMailslot,
		LPDWORD lpMaxMessageSize,
		LPDWORD lpNextSize,
		LPDWORD lpMessageCount,
		LPDWORD lpReadTimeout)
{
   FILE_MAILSLOT_QUERY_INFORMATION Buffer;
   IO_STATUS_BLOCK Iosb;
   NTSTATUS Status;

   Status = NtQueryInformationFile(hMailslot,
				   &Iosb,
				   &Buffer,
				   sizeof(FILE_MAILSLOT_QUERY_INFORMATION),
				   FileMailslotQueryInformation);
   if (!NT_SUCCESS(Status))
     {
	DPRINT("NtQueryInformationFile failed (Status %x)!\n", Status);
	SetLastErrorByStatus (Status);
	return(FALSE);
     }

   if (lpMaxMessageSize != NULL)
     {
	*lpMaxMessageSize = Buffer.MaximumMessageSize;
     }
   if (lpNextSize != NULL)
     {
	*lpNextSize = Buffer.NextMessageSize;
     }
   if (lpMessageCount != NULL)
     {
	*lpMessageCount = Buffer.MessagesAvailable;
     }
   if (lpReadTimeout != NULL)
     {
	if (Buffer.ReadTimeout.LowPart == 0 &&
	    Buffer.ReadTimeout.HighPart == 0x80000000)
	    *lpReadTimeout = MAILSLOT_WAIT_FOREVER;
	else
	    *lpReadTimeout = (DWORD)(Buffer.ReadTimeout.QuadPart / -10000);
     }

   return(TRUE);
}


/*
 * @implemented
 */
BOOL STDCALL
SetMailslotInfo(HANDLE hMailslot,
		DWORD lReadTimeout)
{
   FILE_MAILSLOT_SET_INFORMATION Buffer;
   LARGE_INTEGER Timeout;
   IO_STATUS_BLOCK Iosb;
   NTSTATUS Status;

   if (lReadTimeout == MAILSLOT_WAIT_FOREVER)
   {
      /* Set the max */
      Timeout.LowPart = 0;
      Timeout.HighPart = 0x80000000;
   }
   else
   {
      /* Convert to NT format */
      Timeout.QuadPart = UInt32x32To64(-10000, lReadTimeout);
   }
   Buffer.ReadTimeout = &Timeout;

   Status = NtSetInformationFile(hMailslot,
				 &Iosb,
				 &Buffer,
				 sizeof(FILE_MAILSLOT_SET_INFORMATION),
				 FileMailslotSetInformation);
   if (!NT_SUCCESS(Status))
     {
	DPRINT("NtSetInformationFile failed (Status %x)!\n", Status);
	SetLastErrorByStatus (Status);
	return(FALSE);
     }

   return(TRUE);
}

/* EOF */

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美中文字幕精品| 精品久久久久久最新网址| 国产欧美日韩卡一| 国产麻豆成人传媒免费观看| 国产午夜精品理论片a级大结局| 欧美a级理论片| 精品对白一区国产伦| 国产成人免费视频一区| 亚洲欧美一区二区三区久本道91 | 成人午夜短视频| 亚洲美女偷拍久久| 欧美一区二区黄| 99免费精品在线观看| 亚洲chinese男男1069| 欧美大胆一级视频| 99久久综合99久久综合网站| 亚洲午夜在线电影| 日韩一级免费一区| 成人黄动漫网站免费app| 亚洲成人免费影院| 国产日韩成人精品| 久久久亚洲午夜电影| 日韩你懂的电影在线观看| 日本不卡在线视频| 日韩理论电影院| 久久伊人蜜桃av一区二区| 色婷婷亚洲精品| 国产成人免费9x9x人网站视频| 亚洲一二三区视频在线观看| 久久先锋资源网| 欧美一区二区三区啪啪| 99riav久久精品riav| 国产盗摄一区二区| 久久99精品久久久久| 亚洲已满18点击进入久久| 国产片一区二区三区| 欧美精品一区二区三区视频| 欧美精三区欧美精三区| 99精品欧美一区二区三区小说| 国产成人精品综合在线观看| 久久精品国产一区二区| 免费日韩伦理电影| 久久成人免费网站| 韩国欧美国产一区| 国产一区欧美一区| 成人av免费在线播放| 色菇凉天天综合网| 色八戒一区二区三区| 日本道在线观看一区二区| 在线观看日韩国产| 欧美一级二级三级乱码| 欧美sm极限捆绑bd| 国产精品第五页| 亚洲成在人线在线播放| 国产一区二区三区在线看麻豆| 丰满放荡岳乱妇91ww| 91小视频免费观看| 欧美一区二区三区影视| 欧美激情在线看| 日本成人在线看| 91片黄在线观看| 日韩欧美在线1卡| 国产精品每日更新| 国产精品久久久久久久第一福利 | 日本精品一级二级| 日韩精品一区二区三区三区免费| 国产欧美精品一区二区色综合| 亚洲综合丝袜美腿| 国产99一区视频免费| 欧美日韩午夜在线| 亚洲人成网站色在线观看| 激情五月激情综合网| 日韩午夜激情电影| 蜜桃久久精品一区二区| av一区二区不卡| 1区2区3区欧美| 福利电影一区二区| 日本一区二区三区dvd视频在线| 日本亚洲免费观看| 日韩欧美视频在线| 国模套图日韩精品一区二区 | 一区二区在线电影| 成人av中文字幕| 欧美成人午夜电影| 裸体健美xxxx欧美裸体表演| 欧美色区777第一页| 日韩电影在线观看一区| 欧美一区二区三区影视| 九九国产精品视频| 国产丝袜欧美中文另类| 国产成人8x视频一区二区| 国产精品网站在线| 色丁香久综合在线久综合在线观看| 一区二区三区视频在线看| 欧美乱妇15p| 国产一区日韩二区欧美三区| 中文字幕一区二区三区精华液 | 亚洲精品成a人| 久久看人人爽人人| 国产成人综合在线播放| 精品国免费一区二区三区| 成人丝袜高跟foot| 五月天丁香久久| 国产精品国产三级国产aⅴ中文| 欧美亚洲国产一区在线观看网站| 免费观看91视频大全| 一区二区三区在线看| 国产日韩欧美精品在线| 欧美一区二区三区人| 欧美日韩一区在线| 成人精品视频一区二区三区 | 久久一区二区三区四区| 欧美三片在线视频观看| 成人深夜在线观看| 国产成人午夜电影网| 久色婷婷小香蕉久久| 午夜天堂影视香蕉久久| 洋洋成人永久网站入口| 综合久久综合久久| 一区二区三区蜜桃网| 亚洲美女在线国产| 亚洲香肠在线观看| 亚洲成人手机在线| 奇米影视7777精品一区二区| 麻豆91小视频| 另类综合日韩欧美亚洲| 久久成人久久爱| 高清国产午夜精品久久久久久| 国产精品一区久久久久| 丰满白嫩尤物一区二区| caoporn国产精品| 欧美亚洲综合久久| 日韩一区二区三| 欧美国产精品一区| 亚洲乱码日产精品bd| 日本不卡不码高清免费观看| 青青草国产精品97视觉盛宴| 国产精品99久久久久久似苏梦涵 | 国产视频一区不卡| 一区二区三区在线播| 免费在线成人网| 日韩高清不卡在线| 一个色妞综合视频在线观看| 亚洲一二三四在线| 美女在线观看视频一区二区| 成人av免费观看| 在线电影欧美成精品| 亚洲蜜桃精久久久久久久| 精品一区二区免费看| 色屁屁一区二区| 中文字幕av不卡| 蜜臂av日日欢夜夜爽一区| 日本韩国精品一区二区在线观看| 日韩精品最新网址| 亚洲图片自拍偷拍| 成人av网站在线| 久久精品亚洲麻豆av一区二区| 日韩专区在线视频| 精品婷婷伊人一区三区三| 国产精品家庭影院| 国产成人精品1024| 精品国产成人系列| 黑人精品欧美一区二区蜜桃 | 欧美日韩一区三区四区| 国产精品三级视频| 久久se精品一区精品二区| 欧美日本免费一区二区三区| 亚洲精品免费在线| 欧美日韩色综合| 日韩电影在线一区二区三区| 日韩欧美www| 国产凹凸在线观看一区二区| 国产欧美日韩激情| 91在线视频观看| 一区二区三区四区中文字幕| 99国内精品久久| 亚洲高清免费在线| 日韩精品专区在线影院观看| 国产麻豆精品久久一二三| 国产精品伦理一区二区| 欧美日韩国产成人在线91| 国产在线不卡视频| 亚洲在线观看免费| 久久一日本道色综合| 在线欧美日韩精品| 久久精品国产精品青草| 亚洲婷婷在线视频| 日韩欧美区一区二| 在线观看日韩电影| 大陆成人av片| 视频一区中文字幕| 18欧美亚洲精品| 精品国产乱码久久久久久蜜臀| 国产福利视频一区二区三区| 日韩成人午夜精品| 亚洲国产日产av| 国产精品乱人伦| 91九色最新地址| 国产不卡视频一区| 国产精品一色哟哟哟|