59 DPRINT(
"Mailslot name: %wZ\n", &MailslotName);
61 if (lpSecurityAttributes)
76 DefaultTimeOut.
QuadPart = 0xFFFFFFFFFFFFFFFF
LL;
81 DefaultTimeOut.
QuadPart = lReadTimeout * -10000
LL;
108 return MailslotHandle;
134 DPRINT1(
"NtQueryInformationFile failed (Status %x)!\n",
Status);
139 if (lpMaxMessageSize) *lpMaxMessageSize =
Buffer.MaximumMessageSize;
140 if (lpNextSize) *lpNextSize =
Buffer.NextMessageSize;
141 if (lpMessageCount) *lpMessageCount =
Buffer.MessagesAvailable;
145 if (
Buffer.ReadTimeout.QuadPart == 0xFFFFFFFFFFFFFFFFLL)
155 *lpReadTimeout =
Timeout.LowPart;
159 *lpReadTimeout = 0xFFFFFFFE;
188 Timeout.QuadPart = lReadTimeout * -10000
LL;
200 DPRINT1(
"NtSetInformationFile failed (Status %x)!\n",
Status);
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
return STATUS_NOT_SUPPORTED
NTSTATUS NTAPI NtSetInformationFile(HANDLE hFile, PIO_STATUS_BLOCK io, PVOID ptr, ULONG len, FILE_INFORMATION_CLASS FileInformationClass)
#define OBJ_CASE_INSENSITIVE
NTSTATUS NTAPI NtCreateMailslotFile(OUT PHANDLE FileHandle, IN ACCESS_MASK DesiredAccess, IN POBJECT_ATTRIBUTES ObjectAttributes, OUT PIO_STATUS_BLOCK IoStatusBlock, IN ULONG CreateOptions, IN ULONG MailslotQuota, IN ULONG MaxMessageSize, IN PLARGE_INTEGER TimeOut)
IN BOOLEAN OUT PSTR Buffer
BOOL WINAPI SetMailslotInfo(IN HANDLE hMailslot, IN DWORD lReadTimeout)
HANDLE WINAPI CreateMailslotW(IN LPCWSTR lpName, IN DWORD nMaxMessageSize, IN DWORD lReadTimeout, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
NTSYSAPI LONGLONG WINAPI RtlExtendedLargeIntegerDivide(LONGLONG, INT, INT *)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define STATUS_INVALID_DEVICE_REQUEST
#define INVALID_HANDLE_VALUE
HANDLE WINAPI CreateMailslotA(IN LPCSTR lpName, IN DWORD nMaxMessageSize, IN DWORD lReadTimeout, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
#define FILE_WRITE_THROUGH
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
DWORD BaseSetLastNTError(IN NTSTATUS Status)
BOOL WINAPI GetMailslotInfo(IN HANDLE hMailslot, IN LPDWORD lpMaxMessageSize, IN LPDWORD lpNextSize, IN LPDWORD lpMessageCount, IN LPDWORD lpReadTimeout)
#define NT_SUCCESS(StatCode)
NTSTATUS NTAPI NtQueryInformationFile(HANDLE hFile, PIO_STATUS_BLOCK io, PVOID ptr, ULONG len, FILE_INFORMATION_CLASS FileInformationClass)
#define MAILSLOT_WAIT_FOREVER
#define STATUS_OBJECT_NAME_INVALID
#define InitializeObjectAttributes(p, n, a, r, s)
#define ERROR_PATH_NOT_FOUND
#define ConvertWin32AnsiObjectApiToUnicodeApi2(obj, name,...)
NTSYSAPI BOOLEAN NTAPI RtlDosPathNameToNtPathName_U(_In_opt_z_ PCWSTR DosPathName, _Out_ PUNICODE_STRING NtPathName, _Out_opt_ PCWSTR *NtFileNamePart, _Out_opt_ PRTL_RELATIVE_NAME_U DirectoryInfo)
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes