59 DPRINT(
"Mailslot name: %wZ\n", &MailslotName);
61 if (lpSecurityAttributes)
76 DefaultTimeOut.
QuadPart = 0xFFFFFFFFFFFFFFFFLL;
81 DefaultTimeOut.
QuadPart = lReadTimeout * -10000LL;
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;
183 Timeout.QuadPart = 0xFFFFFFFFFFFFFFFFLL;
188 Timeout.QuadPart = lReadTimeout * -10000LL;
200 DPRINT1(
"NtSetInformationFile failed (Status %x)!\n",
Status);
#define ConvertWin32AnsiObjectApiToUnicodeApi2(obj, name,...)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
IN PUNICODE_STRING IN POBJECT_ATTRIBUTES ObjectAttributes
#define NT_SUCCESS(StatCode)
#define INVALID_HANDLE_VALUE
HANDLE WINAPI CreateMailslotW(IN LPCWSTR lpName, IN DWORD nMaxMessageSize, IN DWORD lReadTimeout, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
BOOL WINAPI SetMailslotInfo(IN HANDLE hMailslot, IN DWORD lReadTimeout)
BOOL WINAPI GetMailslotInfo(IN HANDLE hMailslot, IN LPDWORD lpMaxMessageSize, IN LPDWORD lpNextSize, IN LPDWORD lpMessageCount, IN LPDWORD lpReadTimeout)
HANDLE WINAPI CreateMailslotA(IN LPCSTR lpName, IN DWORD nMaxMessageSize, IN DWORD lReadTimeout, IN LPSECURITY_ATTRIBUTES lpSecurityAttributes)
@ FileMailslotSetInformation
@ FileMailslotQueryInformation
#define FILE_WRITE_THROUGH
#define OBJ_CASE_INSENSITIVE
NTSYSAPI LONGLONG WINAPI RtlExtendedLargeIntegerDivide(LONGLONG, INT, INT *)
#define InitializeObjectAttributes(p, n, a, r, s)
#define MAILSLOT_WAIT_FOREVER
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)
NTSYSAPI NTSTATUS NTAPI NtSetInformationFile(IN HANDLE hFile, OUT PIO_STATUS_BLOCK pIoStatusBlock, IN PVOID FileInformationBuffer, IN ULONG FileInformationBufferLength, IN FILE_INFORMATION_CLASS FileInfoClass)
NTSYSAPI NTSTATUS NTAPI NtQueryInformationFile(IN HANDLE hFile, OUT PIO_STATUS_BLOCK pIoStatusBlock, OUT PVOID FileInformationBuffer, IN ULONG FileInformationBufferLength, IN FILE_INFORMATION_CLASS FileInfoClass)
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)
#define STATUS_NOT_SUPPORTED
DWORD BaseSetLastNTError(IN NTSTATUS Status)
#define STATUS_INVALID_DEVICE_REQUEST
#define STATUS_OBJECT_NAME_INVALID
_Must_inspect_result_ _In_ WDFDMAENABLER _In_ _In_opt_ PWDF_OBJECT_ATTRIBUTES Attributes
#define ERROR_PATH_NOT_FOUND
_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
_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