* key Optional="Posix Os2" to be allowed to run)\r
*/\r
\r
+/**********************************************************************\r
+ * SmpRegisterSmss/0\r
+ *\r
+ * DESCRIPTION\r
+ * Make smss register with itself for IMAGE_SUBSYSTEM_NATIVE\r
+ * (programmatically). This also open hSmApiPort to be used\r
+ * in loading required subsystems.\r
+ */\r
+#if 0\r
+static NTSTATUS\r
+SmpRegisterSmss(VOID)\r
+{\r
+ NTSTATUS Status = STATUS_SUCCESS;\r
+ UNICODE_STRING SbApiPortName = {0,0,NULL};\r
+\r
+ DPRINT("SM: %s called\n",__FUNCTION__);\r
+ \r
+ Status = SmConnectApiPort(& SbApiPortName,\r
+ (HANDLE) 0,\r
+ IMAGE_SUBSYSTEM_NATIVE,\r
+ & hSmApiPort);\r
+ if(!NT_SUCCESS(Status))\r
+ {\r
+ DPRINT("SM: %s: SMDLL!SmConnectApiPort failed (Status=0x%08lx)\n",\r
+ __FUNCTION__,Status);\r
+ return Status;\r
+ }\r
+ /*\r
+ * Note that you don't need to call complete session\r
+ * because connection handling code autocompletes\r
+ * the client structure for IMAGE_SUBSYSTEM_NATIVE.\r
+ */\r
+ return Status;\r
+}\r
+#endif\r
+\r
/**********************************************************************\r
*/\r
NTSTATUS\r
\r
\r
DPRINT("SM: loading subsystems\n");\r
- \r
+\r
+ /* SM self registers */\r
+#if 0\r
+ Status = SmpRegisterSmss();\r
+ if(!NT_SUCCESS(Status))\r
+ {\r
+ DPRINT1("SM: SM failed to self register: system is not secure!\n");\r
+ }\r
+#endif\r
/* Load Kmode subsystem (aka win32k.sys) */\r
Status = SmLookupSubsystem (L"Kmode",\r
Data,\r
}\r
}\r
/* TODO: load Required subsystems (Debug Windows) */\r
+#if 0\r
+ Status = SmExecuteProgram(L"DEBUG");\r
+ if(!NT_SUCCESS(Status))\r
+ {\r
+ DPRINT1("SM: DBSS failed to initialize!\n");\r
+ }\r
+#endif\r
return Status;\r
}\r
\r