[KSUSER]
[reactos.git] / reactos / dll / directx / ksuser / ksuser.c
index 8692bb9..8f62abf 100644 (file)
@@ -44,18 +44,19 @@ KsiCreateObjectType( HANDLE hHandle,
 
     Length = wcslen(IID);
 
-    TotalSize = (Length * sizeof(WCHAR)) + BufferSize + 2 * sizeof(WCHAR);
+    TotalSize = (Length * sizeof(WCHAR)) + BufferSize + 4 * sizeof(WCHAR);
 
     pStr = HeapAlloc(GetProcessHeap(), 0, TotalSize);
     if (!pStr)
         return STATUS_INSUFFICIENT_RESOURCES;
-
-    wcscpy(pStr, (LPWSTR)IID);
-    pStr[Length] = L'\\';
-    memcpy(&pStr[Length+1], Buffer, BufferSize);
-    pStr[Length+1+BufferSize] = L'\0';
+    pStr[0] = L'\\';
+    wcscpy(&pStr[1], (LPWSTR)IID);
+    pStr[Length+1] = L'\\';
+    memcpy(&pStr[Length+2], Buffer, BufferSize);
+    pStr[Length+3+(BufferSize/sizeof(WCHAR))] = L'\0';
 
     RtlInitUnicodeString(&ObjectName, pStr);
+    ObjectName.Length = ObjectName.MaximumLength = TotalSize;
 
     InitializeObjectAttributes(&ObjectAttributes, &ObjectName, OBJ_CASE_INSENSITIVE, hHandle, NULL);
 
@@ -91,7 +92,7 @@ KsiCreateObjectType( HANDLE hHandle,
 *
 *--*/
 KSDDKAPI
-NTSTATUS
+DWORD
 NTAPI
 KsCreateAllocator(HANDLE ConnectionHandle,
                   PKSALLOCATOR_FRAMING AllocatorFraming,
@@ -129,7 +130,7 @@ KsCreateAllocator(HANDLE ConnectionHandle,
 *
 *--*/
 KSDDKAPI
-NTSTATUS
+DWORD
 NTAPI
 KsCreateClock(HANDLE ConnectionHandle,
               PKSCLOCK_CREATE ClockCreate,
@@ -176,7 +177,7 @@ KsCreateClock(HANDLE ConnectionHandle,
 *--*/
 
 KSDDKAPI
-NTSTATUS
+DWORD
 NTAPI
 KsCreatePin(HANDLE FilterHandle,
             PKSPIN_CONNECT Connect,
@@ -184,12 +185,9 @@ KsCreatePin(HANDLE FilterHandle,
             PHANDLE  ConnectionHandle)
 {
     ULONG BufferSize = sizeof(KSPIN_CONNECT);
-    PKSDATAFORMAT DataFormat = (PKSDATAFORMAT)(Connect + 1);
+    PKSDATAFORMAT DataFormat = ((PKSDATAFORMAT) ((ULONG_PTR)Connect + sizeof(KSPIN_CONNECT)));
 
-    if (DataFormat->Flags &  KSDATAFORMAT_ATTRIBUTES)
-    {
-        BufferSize += (ROUND_UP(DataFormat->FormatSize,sizeof(LONGLONG)) + DataFormat->FormatSize);
-    }
+    BufferSize += DataFormat->FormatSize;
 
     return KsiCreateObjectType(FilterHandle,
                                KSSTRING_Pin,
@@ -227,7 +225,7 @@ KsCreatePin(HANDLE FilterHandle,
 *
 *--*/
 KSDDKAPI
-NTSTATUS
+DWORD
 NTAPI
 KsCreateTopologyNode(HANDLE ParentHandle,
                      PKSNODE_CREATE NodeCreate,