• R/O
  • SSH

標籤
無標籤

Frequently used words (click to add to your profile)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Mercurial Patch Queue for Windows System Libraries


File Info

修訂. e77cb33f187d5ad50a65a3d89ee9485d926347bc
大小 5,116 bytes
時間 2019-04-02 03:25:55
作者 Keith Marshall
Log Message

Handle w32api directory rename for 6.0-exp bookmark.

Content

# HG changeset patch
# Parent 33fd59417861b82a66a896c7dd214ec464057385
Make <mq.h> header effectively self-contained.

diff --git a/wslapi/include/mq.h b/wslapi/include/mq.h
--- a/wslapi/include/mq.h
+++ b/wslapi/include/mq.h
@@ -1,14 +1,13 @@
 #ifndef _MQ_H
 #define _MQ_H
-#if __GNUC__ >= 3
 #pragma GCC system_header
-#endif
 
-#ifdef __cplusplus
-extern "C" {
-#endif
+#include <rpc.h>
+#include <transact.h>
+
+_BEGIN_C_DECLS
 
 #define PROPID_Q_INSTANCE 101
 #define PROPID_Q_TYPE 102
 #define PROPID_Q_PATHNAME 103
 #define PROPID_Q_JOURNAL 104
@@ -377,10 +376,42 @@ extern "C" {
 typedef struct tagMQCOLUMNSET {
 	ULONG cCol;
 	PROPID *aCol;
 } MQCOLUMNSET;
 typedef PROPID MGMTPROPID;
+typedef struct tagMQPROPVARIANT {
+	VARTYPE vt;
+	WORD wReserved1;
+	WORD wReserved2;
+	WORD wReserved3;
+	union {
+		UCHAR bVal;
+		SHORT iVal;
+		USHORT uiVal;
+		VARIANT_BOOL boolVal;
+		LONG lVal;
+		ULONG ulVal;
+		ULARGE_INTEGER uhVal;
+		SCODE scode;
+		DATE date;
+		CLSID __RPC_FAR *puuid;
+		BLOB blob;
+		LPOLESTR bstrVal;
+		LPSTR pszVal;
+		LPWSTR pwszVal;
+		CAUB caub;
+		CAI cai;
+		CAUI caui;
+		CABOOL cabool;
+		CAL cal;
+		CAUL caul;
+		CACLSID cauuid;
+		CABSTR cabstr;
+		CALPWSTR calpwstr;
+		CAPROPVARIANT capropvar;
+	};                      
+} MQPROPVARIANT;
 typedef struct tagMQMGMTPROPS {
 	DWORD cProp;
 	MGMTPROPID *aPropID;
 	MQPROPVARIANT *aPropVar;
 	HRESULT *aStatus;
@@ -427,42 +458,10 @@ typedef struct tagMQSORTKEY {
 } MQSORTKEY;
 typedef struct tagMQSORTSET {
 	ULONG cCol;
 	MQSORTKEY *aCol;
 } MQSORTSET;
-typedef struct tagMQPROPVARIANT {
-	VARTYPE vt;
-	WORD wReserved1;
-	WORD wReserved2;
-	WORD wReserved3;
-	union {
-		UCHAR bVal;
-		SHORT iVal;
-		USHORT uiVal;
-		VARIANT_BOOL boolVal;
-		LONG lVal;
-		ULONG ulVal;
-		ULARGE_INTEGER uhVal;
-		SCODE scode;
-		DATE date;
-		CLSID _RPC_FAR *puuid;
-		BLOB blob;
-		LPOLESTR bstrVal;
-		LPSTR pszVal;
-		LPWSTR pwszVal;
-		CAUB caub;
-		CAI cai;
-		CAUI caui;
-		CABOOL cabool;
-		CAL cal;
-		CAUL caul;
-		CACLSID cauuid;
-		CABSTR cabstr;
-		CALPWSTR calpwstr;
-		CAPROPVARIANT capropvar;
-	};                      
-} MQPROPVARIANT;
 typedef struct tagSEQUENCE_INFO {
 	LONGLONG SeqID;
 	ULONG SeqNo; 
 	ULONG PrevNo;
 } SEQUENCE_INFO;
@@ -526,9 +525,8 @@ HRESULT WINAPI MQRegisterCertificate(DWO
 #endif
 HRESULT WINAPI MQSendMessage(QUEUEHANDLE,MQMSGPROPS *,ITransaction *);
 HRESULT WINAPI MQSetQueueProperties(LPCWSTR,MQQUEUEPROPS *);
 HRESULT WINAPI MQSetQueueSecurity(LPCWSTR,SECURITY_INFORMATION,PSECURITY_DESCRIPTOR);
 
-#ifdef __cplusplus
-}
+_END_C_DECLS
+
 #endif
-#endif
diff --git a/wslapi/include/transact.h b/wslapi/include/transact.h
new file mode 100644
--- /dev/null
+++ b/wslapi/include/transact.h
@@ -0,0 +1,52 @@
+/*
+ * transact.h
+ *
+ * FIXME: This header file is a stub; someone needs to flesh it out,
+ * to actually implement the declarations for the transaction API.
+ *
+ * $Id$
+ *
+ * FIXME: Whoever does eventually implement this API, please assert
+ * your moral right to be identified as principal author, in place of
+ * my temporary assertion here, and delete this comment.  Please DO
+ * NOT change the following copyright assignment.
+ *
+ * Written by Keith Marshall <keithmarshall@users.sourceforge.net>
+ * Copyright (C) 2017, MinGW.org Project
+ *
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a
+ * copy of this software and associated documentation files (the "Software"),
+ * to deal in the Software without restriction, including without limitation
+ * the rights to use, copy, modify, merge, publish, distribute, sublicense,
+ * and/or sell copies of the Software, and to permit persons to whom the
+ * Software is furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice (including the next
+ * paragraph) shall be included in all copies or substantial portions of the
+ * Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
+ * FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER
+ * DEALINGS IN THE SOFTWARE.
+ *
+ */
+#ifndef _TRANSACT_H
+#define _TRANSACT_H
+#pragma GCC system_header
+
+#include <unknwn.h>
+
+_BEGIN_C_DECLS
+
+#define INTERFACE ITransaction
+DECLARE_INTERFACE(ITransaction);
+#undef INTERFACE
+
+_END_C_DECLS
+
+#endif	/* !_TRANSACT_H: $RCSfile$: end of file */
diff --git a/wslapi/tests/headers.at b/wslapi/tests/headers.at
--- a/wslapi/tests/headers.at
+++ b/wslapi/tests/headers.at
@@ -226,10 +226,11 @@ stm.h dnl
 strmif.h dnl
 subauth.h dnl
 svcguid.h dnl
 tlhelp32.h dnl
 tmschema.h dnl
+transact.h dnl
 unknwn.h dnl
 userenv.h dnl
 usp10.h dnl
 uxtheme.h dnl
 vfw.h dnl